]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add test fro completed flatbed
authorBastian Dehn <hhaalo@arcor.de>
Fri, 27 Dec 2024 15:23:22 +0000 (16:23 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Fri, 27 Dec 2024 15:23:22 +0000 (16:23 +0100)
tests/kds_s2000w_net_tests.c
tests/kds_s2000w_net_tests.h
tests/kds_s2000w_net_tests_run.c

index 20e7a87dc47816e12acca3e678f420fea5f3e91e..caa47f06e8dbf3f17379b6d13f62534ce99cc274 100644 (file)
@@ -492,6 +492,60 @@ void sane_kds_s2000w_net_cancel_completed_scan_feeder()
        h = NULL;
 }
 
+void sane_kds_s2000w_net_cancel_completed_scan_flatbed()
+{
+       response* resp_status = kds_s2000w_client_response_init();
+       resp_status->data = realloc(resp_status->data, 205);
+       const char* status = "{ \
+               \"Status\": { \
+                       \"NumImagesScanned\": 2, \
+                       \"NumImagesStored\": 0, \
+                       \"State\": \"Scanning\", \
+                       \"ErrorNum\": 0, \
+                       \"LastError\": \"Status: 200 Success\", \
+                       \"PaperDetected\": \"0\", \
+                       \"PercentAvailable\": 99 \
+               }}\0";
+       memcpy(resp_status->data, status, 205);
+       resp_status->code = 200;
+       resp_status->size = 205;
+       will_return(mock_response, resp_status);
+       will_return(__wrap_kds_s2000w_client_status_session, 0);
+       response* resp_session = kds_s2000w_client_response_init();
+       resp_session->data = realloc(resp_session->data, 28);
+       const char* responsedata = "{\"SessionId\":\"1251877821\"}\0";
+       memcpy(resp_session->data, responsedata, 28);
+       resp_session->code = 200;
+       resp_session->size = 28;
+       will_return(mock_response, resp_session);
+       will_return(__wrap_kds_s2000w_client_open_session, 0);
+       response* resp_options = kds_s2000w_client_response_init();
+       resp_options->code = 200;
+       resp_options->size = 0;
+       will_return(mock_response, resp_options);
+       will_return(__wrap_kds_s2000w_client_set_option, 0);
+       expect_function_call(__wrap_kds_s2000w_client_status_session);
+       expect_function_call(__wrap_kds_s2000w_client_close_session);
+       expect_function_call(__wrap_kds_s2000w_client_open_session);
+       expect_function_call(__wrap_kds_s2000w_client_set_option);
+
+       handler* h = init_handler();
+
+       _sane_kds_s2000w_net_cancel(h);
+
+       assert_int_equal(h->read_info->cancel, 0);
+       assert_int_equal(h->current_scan_status->complete_scanned, 0);
+
+       kds_s2000w_client_response_free(resp_status);
+       resp_status = NULL;
+       kds_s2000w_client_response_free(resp_session);
+       resp_session = NULL;
+       kds_s2000w_client_response_free(resp_options);
+       resp_options = NULL;
+       free_handler(h);
+       h = NULL;
+}
+
 void sane_kds_s2000w_net_open()
 {
        response* resp = kds_s2000w_client_response_init();
index e1e94e94b41472657b39e3e7d5428abe66c6f55f..9cdbb4bfff6037ccd1e5c5c7a976b31a24d28eed 100644 (file)
@@ -12,6 +12,7 @@ void kds_s2000w_net_get_devices_only_remote();
 void kds_s2000w_net_set_io_mode();
 void kds_s2000w_net_get_select_fd();
 void sane_kds_s2000w_net_start_cancel();
+void sane_kds_s2000w_net_cancel_completed_scan_flatbed();
 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);
index 9883245146301f257d232d7262a89e38e33c9079..ef94ceceb59a746cc6736b8f28bb912b768669da 100644 (file)
@@ -71,6 +71,7 @@ int main()
                cmocka_unit_test(sane_kds_s2000w_net_start_cancel),
                cmocka_unit_test(sane_kds_s2000w_net_cancel),
                cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_feeder),
+               cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_flatbed),
                cmocka_unit_test(sane_kds_s2000w_net_open),
                cmocka_unit_test(sane_kds_s2000w_net_open_busy_device),
                cmocka_unit_test(sane_kds_s2000w_net_open_invalid),