mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
rss.c: some fixes for separators, allow check digit, refactoring; bwipp_dump.ps
This commit is contained in:
@ -38,6 +38,8 @@ static void test_gs1_reduce(int index, int generate, int debug) {
|
||||
|
||||
testStart("");
|
||||
|
||||
int do_bwipp = (debug & ZINT_DEBUG_TEST_BWIPP) && testUtilHaveGhostscript(); // Only do BWIPP test if asked, too slow otherwise
|
||||
|
||||
int ret;
|
||||
struct item {
|
||||
int symbology;
|
||||
@ -51,7 +53,7 @@ static void test_gs1_reduce(int index, int generate, int debug) {
|
||||
};
|
||||
struct item data[] = {
|
||||
/* 0*/ { BARCODE_EAN128, -1, "12345678901234", "", ZINT_ERROR_INVALID_DATA, "GS1 data required", "" },
|
||||
/* 1*/ { BARCODE_EAN128, -1, "[01]12345678901234", "", 0, "Input mode ignored; verified manually against bwipp and tec-it",
|
||||
/* 1*/ { BARCODE_EAN128, -1, "[01]12345678901234", "", 0, "Input mode ignored; verified manually against tec-it",
|
||||
"11010011100111101011101100110110010110011100100010110001110001011011000010100110111101101011001110010001011000111010111101100011101011"
|
||||
},
|
||||
/* 2*/ { BARCODE_EAN128, GS1_MODE, "[01]12345678901234", "", 0, "Input mode ignored",
|
||||
@ -81,7 +83,7 @@ static void test_gs1_reduce(int index, int generate, int debug) {
|
||||
"0010110001100001010001001100100110100110001101110100111000111010010011110101100100001001010011000110111010011100010100001011010000110011100010100"
|
||||
"1101001110011110101110110011011001011001110010001011000111000101101100001010011011110110101100111001000101100011101011110100101111001100011101011"
|
||||
},
|
||||
/* 7*/ { BARCODE_EAN14, -1, "1234567890123", "", 0, "Input mode ignored; verified manually against bwipp and tec-it",
|
||||
/* 7*/ { BARCODE_EAN14, -1, "1234567890123", "", 0, "Input mode ignored; verified manually against tec-it",
|
||||
"11010011100111101011101100110110010110011100100010110001110001011011000010100110111101101011001110011011000110100001100101100011101011"
|
||||
},
|
||||
/* 8*/ { BARCODE_EAN14, GS1_MODE, "1234567890123", "", 0, "Input mode ignored",
|
||||
@ -90,7 +92,7 @@ static void test_gs1_reduce(int index, int generate, int debug) {
|
||||
/* 9*/ { BARCODE_EAN14, UNICODE_MODE, "1234567890123", "", 0, "Input mode ignored",
|
||||
"11010011100111101011101100110110010110011100100010110001110001011011000010100110111101101011001110011011000110100001100101100011101011"
|
||||
},
|
||||
/*10*/ { BARCODE_NVE18, -1, "12345678901234567", "", 0, "Input mode ignored; verified manually against bwipp (sscc18) and tec-it",
|
||||
/*10*/ { BARCODE_NVE18, -1, "12345678901234567", "", 0, "Input mode ignored; verified manually against tec-it",
|
||||
"110100111001111010111011011001100101100111001000101100011100010110110000101001101111011010110011100100010110001110001011011000010010101101110001100011101011"
|
||||
},
|
||||
/*11*/ { BARCODE_NVE18, GS1_MODE, "12345678901234567", "", 0, "Input mode ignored",
|
||||
@ -109,25 +111,25 @@ static void test_gs1_reduce(int index, int generate, int debug) {
|
||||
/*16*/ { BARCODE_RSS_EXP, UNICODE_MODE, "[20]12", "", 0, "Input mode ignored",
|
||||
"010010000010000101101111111100001010000010000110010101111100101110001011110000000010101111100001011101"
|
||||
},
|
||||
/*17*/ { BARCODE_RSS_EXP_CC, -1, "[20]12", "[21]1234", 0, "Input mode ignored",
|
||||
/*17*/ { BARCODE_RSS_EXP_CC, -1, "[20]12", "[21]1234", 0, "Input mode ignored; verified manually against tec-it",
|
||||
"001101101110110100001000001101001100111011000010011101001100001010001100010010011011000000110110001010"
|
||||
"001101101100111110100010011001101011100100000010011001001001111001011110011101011001000000110010001010"
|
||||
"001101101000101111100110000101001111010000001010011001101011101110011110010011110110000110111010001010"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001100100001010101001010000011110100000"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001110100001010101001010000011110100000"
|
||||
"010010000000101001101111111100001011000110011110100101111100101110001011110000000010101111100001011101"
|
||||
},
|
||||
/*18*/ { BARCODE_RSS_EXP_CC, GS1_MODE, "[20]12", "[21]1234", 0, "Input mode ignored",
|
||||
"001101101110110100001000001101001100111011000010011101001100001010001100010010011011000000110110001010"
|
||||
"001101101100111110100010011001101011100100000010011001001001111001011110011101011001000000110010001010"
|
||||
"001101101000101111100110000101001111010000001010011001101011101110011110010011110110000110111010001010"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001100100001010101001010000011110100000"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001110100001010101001010000011110100000"
|
||||
"010010000000101001101111111100001011000110011110100101111100101110001011110000000010101111100001011101"
|
||||
},
|
||||
/*19*/ { BARCODE_RSS_EXP_CC, UNICODE_MODE, "[20]12", "[21]1234", 0, "Input mode ignored",
|
||||
"001101101110110100001000001101001100111011000010011101001100001010001100010010011011000000110110001010"
|
||||
"001101101100111110100010011001101011100100000010011001001001111001011110011101011001000000110010001010"
|
||||
"001101101000101111100110000101001111010000001010011001101011101110011110010011110110000110111010001010"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001100100001010101001010000011110100000"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001110100001010101001010000011110100000"
|
||||
"010010000000101001101111111100001011000110011110100101111100101110001011110000000010101111100001011101"
|
||||
},
|
||||
/*20*/ { BARCODE_RSS_EXPSTACK, -1, "12", "", ZINT_ERROR_INVALID_DATA, "GS1 data required", "" },
|
||||
@ -141,25 +143,25 @@ static void test_gs1_reduce(int index, int generate, int debug) {
|
||||
"010010000010000101101111111100001010000010000110010101111100101110001011110000000010101111100001011101"
|
||||
},
|
||||
/*24*/ { BARCODE_RSS_EXPSTACK_CC, -1, "12", "[21]1234", ZINT_ERROR_INVALID_DATA, "GS1 data required", "" },
|
||||
/*25*/ { BARCODE_RSS_EXPSTACK_CC, -1, "[20]12", "[21]1234", 0, "Input mode ignored",
|
||||
/*25*/ { BARCODE_RSS_EXPSTACK_CC, -1, "[20]12", "[21]1234", 0, "Input mode ignored; verified manually against tec-it (same as BARCODE_RSS_EXP_CC above)",
|
||||
"001101101110110100001000001101001100111011000010011101001100001010001100010010011011000000110110001010"
|
||||
"001101101100111110100010011001101011100100000010011001001001111001011110011101011001000000110010001010"
|
||||
"001101101000101111100110000101001111010000001010011001101011101110011110010011110110000110111010001010"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001100100001010101001010000011110100000"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001110100001010101001010000011110100000"
|
||||
"010010000000101001101111111100001011000110011110100101111100101110001011110000000010101111100001011101"
|
||||
},
|
||||
/*26*/ { BARCODE_RSS_EXPSTACK_CC, GS1_MODE, "[20]12", "[21]1234", 0, "Input mode ignored",
|
||||
"001101101110110100001000001101001100111011000010011101001100001010001100010010011011000000110110001010"
|
||||
"001101101100111110100010011001101011100100000010011001001001111001011110011101011001000000110010001010"
|
||||
"001101101000101111100110000101001111010000001010011001101011101110011110010011110110000110111010001010"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001100100001010101001010000011110100000"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001110100001010101001010000011110100000"
|
||||
"010010000000101001101111111100001011000110011110100101111100101110001011110000000010101111100001011101"
|
||||
},
|
||||
/*27*/ { BARCODE_RSS_EXPSTACK_CC, UNICODE_MODE, "[20]12", "[21]1234", 0, "Input mode ignored",
|
||||
"001101101110110100001000001101001100111011000010011101001100001010001100010010011011000000110110001010"
|
||||
"001101101100111110100010011001101011100100000010011001001001111001011110011101011001000000110010001010"
|
||||
"001101101000101111100110000101001111010000001010011001101011101110011110010011110110000110111010001010"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001100100001010101001010000011110100000"
|
||||
"000001111111010110010000000010100100111001100001011010000011010001110100001010101001010000011110100000"
|
||||
"010010000000101001101111111100001011000110011110100101111100101110001011110000000010101111100001011101"
|
||||
},
|
||||
};
|
||||
@ -167,6 +169,9 @@ static void test_gs1_reduce(int index, int generate, int debug) {
|
||||
|
||||
char *text;
|
||||
|
||||
char bwipp_buf[8196];
|
||||
char bwipp_msg[1024];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
@ -207,6 +212,15 @@ static void test_gs1_reduce(int index, int generate, int debug) {
|
||||
int width, row;
|
||||
ret = testUtilModulesCmp(symbol, data[i].expected, &width, &row);
|
||||
assert_zero(ret, "i:%d %s testUtilModulesCmp ret %d != 0 width %d row %d (%s)\n", i, testUtilBarcodeName(data[i].symbology), ret, width, row, data[i].data);
|
||||
|
||||
if (do_bwipp && testUtilCanBwipp(symbol->symbology, -1, -1, -1, debug)) {
|
||||
ret = testUtilBwipp(symbol, -1, -1, -1, text, length, symbol->primary, bwipp_buf, sizeof(bwipp_buf));
|
||||
assert_zero(ret, "i:%d %s testUtilBwipp ret %d != 0\n", i, testUtilBarcodeName(data[i].symbology), ret);
|
||||
|
||||
ret = testUtilBwippCmp(symbol, bwipp_msg, bwipp_buf, data[i].expected);
|
||||
assert_zero(ret, "i:%d %s testUtilBwippCmp %d != 0 %s\n actual: %s\nexpected: %s\n",
|
||||
i, testUtilBarcodeName(data[i].symbology), ret, bwipp_msg, bwipp_buf, data[i].expected);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user