]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add test for get parameters bw
authorBastian Dehn <hhaalo@arcor.de>
Mon, 30 Dec 2024 09:36:13 +0000 (10:36 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 30 Dec 2024 09:36:13 +0000 (10:36 +0100)
tests/kds_s2000w_net_tests.c
tests/kds_s2000w_net_tests.h
tests/kds_s2000w_net_tests_run.c

index 4087a5659622d7f9ca8f2db2e77c6ccb29e9eab1..5ff57abcea8ce577ee994be5f179c05e910ddb59 100644 (file)
@@ -319,7 +319,7 @@ void sane_kds_s2000w_net_start_two_pages_per_feeder(void** state)
        h = NULL;
 }
 
-void sane_kds_s2000w_net_get_parameter()
+void sane_kds_s2000w_net_get_parameter_color()
 {
        handler* h = init_handler();
        const char* config = "{\"Configuration\":{\"ColorMode\":\"Color\"}}";
@@ -361,6 +361,45 @@ void sane_kds_s2000w_net_get_parameter()
        params = NULL;
 }
 
+void sane_kds_s2000w_net_get_parameter_bw()
+{
+       handler* h = init_handler();
+       const char* config = "{\"Configuration\":{\"ColorMode\":\"Color\"}}";
+       h->current_scanner_config = json_tokener_parse(config);
+       h->image->size = 17;
+       h->image->data = malloc(sizeof(char) * 17);
+       char* image_data = (char*) h->image->data;
+       image_data[0] = 0x50;
+       image_data[1] = 0x34;
+       image_data[2] = 0x0a;
+       image_data[3] = 0x32;
+       image_data[4] = 0x20;
+       image_data[5] = 0x31;
+       image_data[6] = 0x0a;
+       for (int i = 7; i < 17; i++) {
+               image_data[i] = 0xff;
+       }
+
+       SANE_Parameters* params = malloc(sizeof(SANE_Parameters));
+
+       SANE_Status status = _sane_kds_s2000w_net_get_parameters(h, params);
+
+       assert_int_equal(status, SANE_STATUS_GOOD);
+       assert_int_equal(params->format, 1);
+       assert_int_equal(params->last_frame, 1);
+       assert_int_equal(params->bytes_per_line, 3);
+       assert_int_equal(params->pixels_per_line, 2);
+       assert_int_equal(params->lines, 1);
+       assert_int_equal(params->depth, 1);
+       assert_int_equal(h->read_info->read_size, 7);
+
+       free_handler(h);
+       h = NULL;
+       free(params);
+       params = NULL;
+}
+
+
 void sane_kds_s2000w_net_cancel()
 {
        response* resp_status = kds_s2000w_client_response_init();
index d6121594e0acb973fade39cb10702dddfb3c4834..c26a7aa81d50142e5f0f5db73ef27a20ca8a3a29 100644 (file)
@@ -18,7 +18,8 @@ void sane_kds_s2000w_net_start(void** state);
 void sane_kds_s2000w_net_start_one_page_per_flatscan(void** state);
 void sane_kds_s2000w_net_start_one_page_per_feeder(void** state);
 void sane_kds_s2000w_net_start_two_pages_per_feeder(void** state);
-void sane_kds_s2000w_net_get_parameter();
+void sane_kds_s2000w_net_get_parameter_color();
+void sane_kds_s2000w_net_get_parameter_bw();
 void sane_kds_s2000w_net_cancel();
 void sane_kds_s2000w_net_cancel_completed_scan_feeder();
 void sane_kds_s2000w_net_open();
index ffbe910bc6fab515bf9318411b4034ad29f01db8..fecb5397fb3eb728ba9d0fa2c63115d3d0fceb44 100644 (file)
@@ -77,7 +77,8 @@ int main()
                cmocka_unit_test(sane_kds_s2000w_net_open_busy_device),
                cmocka_unit_test(sane_kds_s2000w_net_open_invalid),
                cmocka_unit_test(sane_kds_s2000w_net_open_not_connected),
-               cmocka_unit_test(sane_kds_s2000w_net_get_parameter),
+               cmocka_unit_test(sane_kds_s2000w_net_get_parameter_color),
+               cmocka_unit_test(sane_kds_s2000w_net_get_parameter_bw),
                cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start, setup_net_start, teardown_net_start),
                cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_one_page_per_flatscan, setup_net_start, teardown_net_start),
                cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start_one_page_per_feeder, setup_net_start, teardown_net_start),