h = NULL;
}
+void sane_kds_s2000w_net_cancel_completed_scan_feeder()
+{
+ response* resp_status = kds_s2000w_client_response_init();
+ resp_status->data = realloc(resp_status->data, 210);
+ const char* status = "{ \
+ \"Status\": { \
+ \"NumImagesScanned\": 2, \
+ \"NumImagesStored\": 0, \
+ \"State\": \"Done Scanning\", \
+ \"ErrorNum\": 0, \
+ \"LastError\": \"Status: 200 Success\", \
+ \"PaperDetected\": \"0\", \
+ \"PercentAvailable\": 99 \
+ }}\0";
+ memcpy(resp_status->data, status, 210);
+ resp_status->code = 200;
+ resp_status->size = 210;
+ will_return(mock_response, resp_status);
+ will_return(__wrap_kds_s2000w_client_status_session, 0);
+ expect_function_call(__wrap_kds_s2000w_client_status_session);
+
+ 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;
+ free_handler(h);
+ h = NULL;
+}
+
void sane_kds_s2000w_net_open()
{
response* resp = kds_s2000w_client_response_init();
void sane_kds_s2000w_net_start_slow_two_pages_per_feeder(void** state);
void sane_kds_s2000w_net_get_parameter_cancel();
void sane_kds_s2000w_net_cancel();
+void sane_kds_s2000w_net_cancel_completed_scan_feeder();
void sane_kds_s2000w_net_open();
void sane_kds_s2000w_net_open_busy_device();
void sane_kds_s2000w_net_open_invalid();
cmocka_unit_test(kds_s2000w_net_get_select_fd),
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_open),
cmocka_unit_test(sane_kds_s2000w_net_open_busy_device),
cmocka_unit_test(sane_kds_s2000w_net_open_invalid),