void test_format(void) { unsigned char *frame, *masked; int version, mask, width, dmask; QRecLevel level, dlevel; QRcode *code; int ret; testStart("Checking format info."); for(version=1; version<=QRSPEC_VERSION_MAX; version++) { frame = QRspec_newFrame(version); width = QRspec_getWidth(version); for(level=0; level<4; level++) { for(mask=0; mask<8; mask++) { masked = Mask_makeMask(width, frame, mask, level); code = QRcode_new(version, width, masked); ret = QRcode_decodeFormat(code, &dlevel, &dmask); assert_zero(ret, "Something wrong in format info.\n"); assert_equal(dlevel, level, "Decoded level is wrong: %d, expected %d", dlevel, level); assert_equal(dmask, mask, "Decoded mask is wrong: %d, expected %d", dlevel, level); QRcode_free(code); } } free(frame); } testFinish(); }
void test_formatInfo(void) { QRcode *qrcode; QRecLevel level; int mask; int ret; testStart("Test format info in QR code."); qrcode = QRcode_encodeString("AC-42", 1, QR_ECLEVEL_H, QR_MODE_8, 1); ret = QRcode_decodeFormat(qrcode, &level, &mask); assert_equal(level, QR_ECLEVEL_H, "Decoded format is wrong.\n"); if(qrcode != NULL) QRcode_free(qrcode); testFinish(); }