From: Bastian Dehn Date: Mon, 8 Dec 2025 20:03:44 +0000 (+0100) Subject: add test for pnm pixmap check X-Git-Tag: v1.1.23^2~13 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=b1908bf9b861651e63a1cc213920158ac8a98fdb;p=sane-kds-s2000w-net.git add test for pnm pixmap check --- diff --git a/src/kds_s2000w_image_type_check.c b/src/kds_s2000w_image_type_check.c index 3793972..a6a396c 100644 --- a/src/kds_s2000w_image_type_check.c +++ b/src/kds_s2000w_image_type_check.c @@ -4,7 +4,7 @@ bool kds_s2000w_image_type_check_is_tiff(const blobdata_t* image) { if (image->size < 4) - return 0; + return false; const char* image_data = (const char*) image->data; bool result = image_data[0] == (char)0x49; @@ -16,21 +16,19 @@ bool kds_s2000w_image_type_check_is_tiff(const blobdata_t* image) bool kds_s2000w_image_type_check_is_pnm(const blobdata_t* image) { if (image->size < 2) - return 0; + return false; const char* image_data = (const char*) image->data; - if (strncmp(image_data, "P6", 2) == 0) - return 1; - - return strncmp(image_data, "P4", 2) == 0; + return strncmp(image_data, "P4", 2) == 0 + || (strncmp(image_data, "P6", 2) == 0); } bool kds_s2000w_image_type_check_is_jpeg(const blobdata_t* image) { if (image->size < 2) - return 0; + return false; const char* image_data = (const char*) image->data; - uint8_t result = image_data[0] == (char)0xff; + bool result = image_data[0] == (char)0xff; return result && image_data[1] == (char)0xd8; } \ No newline at end of file diff --git a/tests/kds_s2000w_image_type_check_tests.c b/tests/kds_s2000w_image_type_check_tests.c index b64b626..ed26064 100644 --- a/tests/kds_s2000w_image_type_check_tests.c +++ b/tests/kds_s2000w_image_type_check_tests.c @@ -78,6 +78,32 @@ void kds_s2000w_image_type_check_is_pnm_true_test() image = NULL; } +void kds_s2000w_image_type_check_is_pnm_pixmap_true_test() +{ + blobdata_t* image = malloc(sizeof(blobdata_t)); + if (image == NULL) + return; + image->size = 2; + image->data = malloc(sizeof(char) * image->size); + if (image->data == NULL) { + free(image); + image = NULL; + return; + } + char* imagedata = (char*) image->data; + imagedata[0] = 'P'; + imagedata[1] = '4'; + + bool result = kds_s2000w_image_type_check_is_pnm(image); + + assert_true(result); + + free(image->data); + image->data = NULL; + free(image); + image = NULL; +} + void kds_s2000w_image_type_check_is_pnm_false_test() { blobdata_t* image = malloc(sizeof(blobdata_t)); @@ -140,6 +166,7 @@ int main() cmocka_unit_test(kds_s2000w_image_type_check_is_tiff_true_test), cmocka_unit_test(kds_s2000w_image_type_check_is_tiff_false_test), cmocka_unit_test(kds_s2000w_image_type_check_is_pnm_true_test), + cmocka_unit_test(kds_s2000w_image_type_check_is_pnm_pixmap_true_test), cmocka_unit_test(kds_s2000w_image_type_check_is_pnm_false_test), cmocka_unit_test(kds_s2000w_image_type_check_is_jpeg_true_test), cmocka_unit_test(kds_s2000w_image_type_check_is_jpeg_false_test),