From: Bastian Dehn Date: Tue, 24 Mar 2026 19:57:14 +0000 (+0100) Subject: integrate call into open X-Git-Tag: v1.1.25^2~3^2~11 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=28ff5b510991bb70b9d9213ccaa7de1d46f1f862;p=sane-kds-s2000w-net.git integrate call into open --- diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 3de470c..55545c1 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -98,6 +98,7 @@ SANE_Status sane_kds_s2000w_net_open(SANE_String_Const devicename, return SANE_STATUS_DEVICE_BUSY; } + mask_option_groups_t option_mask = kds_s2000w_handler_get_available_options(); return kds_s2000w_option_descriptors_init(h->profile); } diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 86cd599..a13d055 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -18,7 +18,7 @@ int setup(void** state) { - response_t** response_list = malloc(sizeof(response_t*) * 4); + response_t** response_list = malloc(sizeof(response_t*) * 5); if (response_list == NULL) return 1; response_list[0] = kds_s2000w_client_response_init(); @@ -64,9 +64,60 @@ int setup(void** state) for (uint32_t i = 11; i < 17; i++) { image_data[i] = (char) 0xff; } - response_list[3] = NULL; - *state = response_list; + const char* all_options = "{ \ + \"Defaults\":{ \ + \"DPI\":200, \ + \"ScanSide\":\"Duplex\", \ + \"ColorMode\":\"Color\", \ + \"SkipBlankPages\":0, \ + \"SkipBlankPagesContent\":5, \ + \"AutoStart\":0, \ + \"ColorDropOut\":\"None\", \ + \"ColorDropOutAggressiveness\":0, \ + \"OutputType\":\"Images\", \ + \"ColorAutoBrightnessMode\":\"Automatic\", \ + \"ColorBrightness\":0, \ + \"ColorContrast\":0, \ + \"ColorBalanceMode\":\"Automatic\", \ + \"ColorBalanceAggressiveness\":0, \ + \"ColorBalanceRed\":0, \ + \"ColorBalanceGreen\":0, \ + \"ColorBalanceBlue\":0, \ + \"ColorSharpen\":\"Normal\", \ + \"ForegroundBoldnessMode\":\"None\", \ + \"ForegroundBoldnessAggressiveness\":0, \ + \"BackgroundSmoothingMode\":\"None\", \ + \"BackgroundSmoothingAggressiveness\":0, \ + \"BinarizationMode\":\"iThresholding\", \ + \"BinarizationContrast\":0, \ + \"MaxDocumentLength\":140, \ + \"MultifeedSensitivity\":\"None\", \ + \"MultifeedResponse\":\"Stop\", \ + \"PostScanRotation\":\"Automatic\", \ + \"EdgeFill\":\"Automatic\", \ + \"ScanSource\":\"DocumentFeeder\", \ + \"ImageBorder\":\"None\", \ + \"TransportHandling\":\"Normal\", \ + \"JpegQuality\":\"Good\", \ + \"DocumentFeederTimeout\":2, \ + \"DocumentFeederTimeoutResponse\":\"Stop\", \ + \"HoleFill\":0, \ + \"CroppingMode\":\"AutomaticStraighten\", \ + \"CroppingImage\":\"EntireDocument\", \ + \"ImageOffsetX\":0, \ + \"ImageOffsetY\":0, \ + \"ImageWidth\":10, \ + \"ImageHeight\":10 \ + } \ + }"; + response_list[3] = kds_s2000w_client_response_init(); + response_list[3]->code = 200; + response_list[3]->size = 1251; + response_list[3]->data = malloc(sizeof(char) * response_list[3]->size); + memcpy(response_list[3]->data, all_options, response_list[3]->size); + response_list[4] = NULL; + *state = response_list; return 0; } @@ -272,8 +323,10 @@ void sane_kds_s2000w_net_get_parameter_bw_test() params = NULL; } -void sane_kds_s2000w_net_open_test() +void sane_kds_s2000w_net_open_test(void** state) { + response_t** response_list = (response_t**) *state; + response_t* resp = kds_s2000w_client_response_init(); if (resp == NULL) return; @@ -285,6 +338,9 @@ void sane_kds_s2000w_net_open_test() will_return(mock_response, resp); will_return(__wrap_kds_s2000w_client_open_session, 0); expect_function_call(__wrap_kds_s2000w_client_open_session); + will_return(mock_response, response_list[3]); + will_return(__wrap_kds_s2000w_client_get_capabilities, 0); + expect_function_call(__wrap_kds_s2000w_client_get_capabilities); void** hlist = malloc(sizeof(void*)); if (hlist == NULL) { kds_s2000w_client_response_free(resp); @@ -884,61 +940,11 @@ void kds_s2000w_handler_depth_eight_calc_bytes_per_line_tests() kds_s2000w_handler_depth_one_calc_bytes_per_line_test(80, 8, 240); } -void kds_s2000w_handler_available_options_test() +void kds_s2000w_handler_available_options_test(void** state) { - const char* all_options = "{ \ - \"Defaults\":{ \ - \"DPI\":200, \ - \"ScanSide\":\"Duplex\", \ - \"ColorMode\":\"Color\", \ - \"SkipBlankPages\":0, \ - \"SkipBlankPagesContent\":5, \ - \"AutoStart\":0, \ - \"ColorDropOut\":\"None\", \ - \"ColorDropOutAggressiveness\":0, \ - \"OutputType\":\"Images\", \ - \"ColorAutoBrightnessMode\":\"Automatic\", \ - \"ColorBrightness\":0, \ - \"ColorContrast\":0, \ - \"ColorBalanceMode\":\"Automatic\", \ - \"ColorBalanceAggressiveness\":0, \ - \"ColorBalanceRed\":0, \ - \"ColorBalanceGreen\":0, \ - \"ColorBalanceBlue\":0, \ - \"ColorSharpen\":\"Normal\", \ - \"ForegroundBoldnessMode\":\"None\", \ - \"ForegroundBoldnessAggressiveness\":0, \ - \"BackgroundSmoothingMode\":\"None\", \ - \"BackgroundSmoothingAggressiveness\":0, \ - \"BinarizationMode\":\"iThresholding\", \ - \"BinarizationContrast\":0, \ - \"MaxDocumentLength\":140, \ - \"MultifeedSensitivity\":\"None\", \ - \"MultifeedResponse\":\"Stop\", \ - \"PostScanRotation\":\"Automatic\", \ - \"EdgeFill\":\"Automatic\", \ - \"ScanSource\":\"DocumentFeeder\", \ - \"ImageBorder\":\"None\", \ - \"TransportHandling\":\"Normal\", \ - \"JpegQuality\":\"Good\", \ - \"DocumentFeederTimeout\":2, \ - \"DocumentFeederTimeoutResponse\":\"Stop\", \ - \"HoleFill\":0, \ - \"CroppingMode\":\"AutomaticStraighten\", \ - \"CroppingImage\":\"EntireDocument\", \ - \"ImageOffsetX\":0, \ - \"ImageOffsetY\":0, \ - \"ImageWidth\":10, \ - \"ImageHeight\":10 \ - } \ - }"; - response_t* resp = kds_s2000w_client_response_init(); - resp->code = 200; - resp->size = 1251; - resp->data = malloc(sizeof(char) * resp->size); - memcpy(resp->data, all_options, resp->size); + response_t** response_list = (response_t**) *state; - will_return(mock_response, resp); + will_return(mock_response, response_list[3]); will_return(__wrap_kds_s2000w_client_get_capabilities, 0); expect_function_call(__wrap_kds_s2000w_client_get_capabilities); @@ -950,9 +956,6 @@ void kds_s2000w_handler_available_options_test() assert_int_equal(option_mask.boldness_color_group, 0x1fff); assert_int_equal(option_mask.image_processing_group, 0x7f); assert_int_equal(option_mask.feeder_group, 0x7f); - - kds_s2000w_client_response_free(resp); - resp = NULL; } int main()