From: Bastian Dehn Date: Sun, 26 Oct 2025 11:55:13 +0000 (+0100) Subject: change handler config only config data X-Git-Tag: v1.1.17^2~10 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=73008a494d068ac1889d63754eba5c9654dd2814;p=sane-kds-s2000w-net.git change handler config only config data --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 91db818..0c0dd14 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -81,8 +81,7 @@ void _kds_s2000w_handler_load_config(handler_t* h) uint32_t _kds_s2000w_handler_is_color(const handler_t* h) { - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* color_mode = json_object_object_get(config, "ColorMode"); + json_object* color_mode = json_object_object_get(h->scanner_config, "ColorMode"); const char* color_value = json_object_get_string(color_mode); if (strcmp(color_value, "Color") == 0) diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index ae45aae..ee3f8ac 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -63,8 +63,12 @@ void _kds_s2000w_handler_opts_load_options(handler_t* h) return; } - h->scanner_config = json_tokener_parse(resp->data); + json_object* json = json_tokener_parse(resp->data); + json_object* config = json_object_object_get(json, CONFIGURATION); + json_object_deep_copy(config, &h->scanner_config, json_c_shallow_copy_default); + json_object_put(json); + json = NULL; kds_s2000w_client_response_free(resp); resp = NULL; } @@ -83,15 +87,9 @@ void _kds_s2000w_handler_opts_set_option_to_default(handler_t* h) json_object* capabilities = json_tokener_parse(resp->data); json_object* default_values = json_object_object_get(capabilities, "Defaults"); - json_object* default_config = json_object_new_object(); - json_object* copy_default_values = NULL; - json_object_deep_copy(default_values, ©_default_values, json_c_shallow_copy_default); - json_object_object_add(default_config, CONFIGURATION, copy_default_values); - json_object_put(h->scanner_config); h->scanner_config = NULL; - - h->scanner_config = default_config; + json_object_deep_copy(default_values, &h->scanner_config, json_c_shallow_copy_default); json_object_put(capabilities); capabilities = NULL; @@ -102,13 +100,12 @@ void _kds_s2000w_handler_opts_set_option_to_default(handler_t* h) json_object* _kds_s2000w_handler_opts_reset(const option_descriptor_t* descriptor, handler_t* h) { if (strcmp(descriptor->config_name, RESET) != 0) - return json_object_object_get(h->scanner_config, CONFIGURATION); + return h->scanner_config; _kds_s2000w_handler_opts_set_option_to_default(h); - json_object* config = json_object_object_get(h->scanner_config, CONFIGURATION); - _kds_s2000w_handler_opts_set_autostart_on(config); + _kds_s2000w_handler_opts_set_autostart_on(h->scanner_config); - return config; + return h->scanner_config; } void _kds_s2000w_handler_opts_set_options(handler_t* h) @@ -130,14 +127,13 @@ void _kds_s2000w_handler_opts_set_options(handler_t* h) json_object* _kds_s2000w_handler_opts_load_config(handler_t* h) { if (h->scanner_config != NULL) - return json_object_object_get(h->scanner_config, CONFIGURATION); + return h->scanner_config; _kds_s2000w_handler_opts_load_options(h); - json_object* config = json_object_object_get(h->scanner_config, CONFIGURATION); - _kds_s2000w_handler_opts_set_autostart_on(config); + _kds_s2000w_handler_opts_set_autostart_on(h->scanner_config); _kds_s2000w_handler_opts_set_options(h); - return config; + return h->scanner_config; } bool _kds_s2000w_opts_validate(SANE_Option_Descriptor* descriptor, const void* value) @@ -184,10 +180,9 @@ void _kds_s2000w_handler_opts_set_valid_coord_x(option_descriptor_t* descriptor, kds_s2000w_debug_printf_int(DEBUG, "valid width", h->coord->width); kds_s2000w_debug_printf_int(DEBUG, "valid height", h->coord->height); - json_object* config = json_object_object_get(h->scanner_config, CONFIGURATION); - json_object* value_object = json_object_object_get(config, IMAGE_OFFSET_X); + json_object* value_object = json_object_object_get(h->scanner_config, IMAGE_OFFSET_X); json_object_set_int(value_object, h->coord->offset_x); - value_object = json_object_object_get(config, IMAGE_WIDTH); + value_object = json_object_object_get(h->scanner_config, IMAGE_WIDTH); json_object_set_int(value_object, h->coord->width); } @@ -203,10 +198,9 @@ void _kds_s2000w_handler_opts_set_valid_coord_y(option_descriptor_t* descriptor, kds_s2000w_debug_printf_int(DEBUG, "valid offset y", h->coord->offset_y); kds_s2000w_debug_printf_int(DEBUG, "valid height", h->coord->height); - json_object* config = json_object_object_get(h->scanner_config, CONFIGURATION); - json_object* value_object = json_object_object_get(config, IMAGE_OFFSET_Y); + json_object* value_object = json_object_object_get(h->scanner_config, IMAGE_OFFSET_Y); json_object_set_int(value_object, h->coord->offset_y); - value_object = json_object_object_get(config, IMAGE_HEIGHT); + value_object = json_object_object_get(h->scanner_config, IMAGE_HEIGHT); json_object_set_int(value_object, h->coord->height); } diff --git a/tests/kds_s2000w_net_get_opt_tests.c b/tests/kds_s2000w_net_get_opt_tests.c index 8ab887a..85950b8 100644 --- a/tests/kds_s2000w_net_get_opt_tests.c +++ b/tests/kds_s2000w_net_get_opt_tests.c @@ -95,14 +95,15 @@ int teardown_default_get_option(void** state) void sane_kds_s2000w_net_control_get_option_zero_test(void** state) { response_t* resp = (response_t*) *state; + handler_t* h = kds_s2000w_handler_init(); + int32_t value = 0; + will_return(mock_response, resp); will_return(__wrap_kds_s2000w_client_get_option, 0); will_return(mock_response, resp); will_return(__wrap_kds_s2000w_client_set_option, 0); expect_function_call(__wrap_kds_s2000w_client_get_option); expect_function_call(__wrap_kds_s2000w_client_set_option); - handler_t* h = kds_s2000w_handler_init(); - int32_t value = 0; sane_kds_s2000w_net_control_option(h, 0, SANE_ACTION_GET_VALUE, &value, NULL); @@ -116,9 +117,15 @@ void sane_kds_s2000w_net_control_get_option_two_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 2, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "DocumentFeeder"); @@ -131,9 +138,15 @@ void sane_kds_s2000w_net_control_get_option_three_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 3, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Color"); @@ -146,9 +159,15 @@ void sane_kds_s2000w_net_control_get_option_four_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = 0; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 4, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 200); @@ -161,9 +180,15 @@ void sane_kds_s2000w_net_control_get_option_five_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 5, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Duplex"); @@ -176,9 +201,15 @@ void sane_kds_s2000w_net_control_get_option_seven_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 7, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "AutomaticStraighten"); @@ -191,9 +222,15 @@ void sane_kds_s2000w_net_control_get_option_eight_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 8, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "EntireDocument"); @@ -206,9 +243,15 @@ void sane_kds_s2000w_net_control_get_option_nine_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 9, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -221,9 +264,15 @@ void sane_kds_s2000w_net_control_get_option_ten_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 10, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -236,9 +285,15 @@ void sane_kds_s2000w_net_control_get_option_eleven_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 11, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 300); @@ -251,9 +306,15 @@ void sane_kds_s2000w_net_control_get_option_twelve_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 12, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 300); @@ -266,9 +327,15 @@ void sane_kds_s2000w_net_control_get_option_fourteen_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 14, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "None"); @@ -281,9 +348,15 @@ void sane_kds_s2000w_net_control_get_option_fifteen_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 15, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -296,9 +369,15 @@ void sane_kds_s2000w_net_control_get_option_sixteen_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 16, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "None"); @@ -311,9 +390,15 @@ void sane_kds_s2000w_net_control_get_option_seventeen_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 17, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -326,9 +411,15 @@ void sane_kds_s2000w_net_control_get_option_nineteen_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 19, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "None"); @@ -341,9 +432,15 @@ void sane_kds_s2000w_net_control_get_option_twenty_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 20, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -356,9 +453,15 @@ void sane_kds_s2000w_net_control_get_option_twentyone_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 21, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Automatic"); @@ -371,9 +474,15 @@ void sane_kds_s2000w_net_control_get_option_twentytwo_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 22, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -386,9 +495,15 @@ void sane_kds_s2000w_net_control_get_option_twentythree_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 23, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -401,9 +516,15 @@ void sane_kds_s2000w_net_control_get_option_twentyfour_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 24, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Automatic"); @@ -416,9 +537,15 @@ void sane_kds_s2000w_net_control_get_option_twentyfive_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 25, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -431,9 +558,15 @@ void sane_kds_s2000w_net_control_get_option_twentysix_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 26, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -446,9 +579,15 @@ void sane_kds_s2000w_net_control_get_option_twentyseven_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 27, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -461,9 +600,15 @@ void sane_kds_s2000w_net_control_get_option_twentyeight_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 28, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -476,9 +621,15 @@ void sane_kds_s2000w_net_control_get_option_twentynine_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 29, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Normal"); @@ -491,9 +642,15 @@ void sane_kds_s2000w_net_control_get_option_thirdy_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 30, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -506,9 +663,15 @@ void sane_kds_s2000w_net_control_get_option_thirdythree_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); int32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 33, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -521,9 +684,15 @@ void sane_kds_s2000w_net_control_get_option_thirdyfour_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 34, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 5); @@ -536,9 +705,15 @@ void sane_kds_s2000w_net_control_get_option_thirdyfive_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 35, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 0); @@ -551,9 +726,15 @@ void sane_kds_s2000w_net_control_get_option_thirdysix_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 36, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Automatic"); @@ -566,9 +747,15 @@ void sane_kds_s2000w_net_control_get_option_thirdyseven_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 37, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Automatic"); @@ -581,9 +768,15 @@ void sane_kds_s2000w_net_control_get_option_thirdyeight_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 38, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "None"); @@ -596,9 +789,15 @@ void sane_kds_s2000w_net_control_get_option_thirdynine_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 39, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Good"); @@ -611,12 +810,18 @@ void sane_kds_s2000w_net_control_get_option_fourtyone_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = 0; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 41, SANE_ACTION_GET_VALUE, &value, NULL); - assert_int_equal(value, 0); + assert_int_equal(value, 1); kds_s2000w_handler_free(h); h = NULL; @@ -626,9 +831,15 @@ void sane_kds_s2000w_net_control_get_option_fourtytwo_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 42, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 140); @@ -641,9 +852,15 @@ void sane_kds_s2000w_net_control_get_option_fourtythree_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 43, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Normal"); @@ -656,9 +873,15 @@ void sane_kds_s2000w_net_control_get_option_fourtyfour_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 44, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "None"); @@ -671,9 +894,15 @@ void sane_kds_s2000w_net_control_get_option_fourtyfive_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 45, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Stop"); @@ -686,9 +915,15 @@ void sane_kds_s2000w_net_control_get_option_fourtysix_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); uint32_t value = -1; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 46, SANE_ACTION_GET_VALUE, &value, NULL); assert_int_equal(value, 2); @@ -701,9 +936,15 @@ void sane_kds_s2000w_net_control_get_option_fourtyseven_test(void** state) { handler_t* h = kds_s2000w_handler_init(); response_t* resp = (response_t*) *state; - h->scanner_config = json_tokener_parse(resp->data); char value[50] = {0}; + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_get_option, 0); + will_return(mock_response, resp); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_get_option); + expect_function_call(__wrap_kds_s2000w_client_set_option); + sane_kds_s2000w_net_control_option(h, 47, SANE_ACTION_GET_VALUE, &value, NULL); assert_string_equal(value, "Stop"); diff --git a/tests/kds_s2000w_net_set_opt_tests.c b/tests/kds_s2000w_net_set_opt_tests.c index ae490df..cc315bb 100644 --- a/tests/kds_s2000w_net_set_opt_tests.c +++ b/tests/kds_s2000w_net_set_opt_tests.c @@ -137,8 +137,7 @@ void kds_s2000w_net_set_option_string_test(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 3, SANE_ACTION_SET_VALUE, "Gray", info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, COLOR_MODE); + json_object* value_object = json_object_object_get(h->scanner_config, COLOR_MODE); const char* value = json_object_get_string(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -174,8 +173,7 @@ void kds_s2000w_net_set_option_int_test(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 15, SANE_ACTION_SET_VALUE, set_value, NULL); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, FOREGROUND_BOLDNESS_AGGRESSIVENESS); + json_object* value_object = json_object_object_get(h->scanner_config, FOREGROUND_BOLDNESS_AGGRESSIVENESS); int32_t value = json_object_get_int(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -271,8 +269,7 @@ void kds_s2000w_net_set_option_reset_test(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 31, SANE_ACTION_SET_VALUE, set_value, info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, DPI); + json_object* value_object = json_object_object_get(h->scanner_config, DPI); int32_t value = json_object_get_int(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -312,8 +309,7 @@ void kds_s2000w_net_set_option_int_br_x_test(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 11, SANE_ACTION_SET_VALUE, set_value, NULL); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, IMAGE_WIDTH); + json_object* value_object = json_object_object_get(h->scanner_config, IMAGE_WIDTH); int32_t value = json_object_get_int(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -348,8 +344,7 @@ void kds_s2000w_net_set_option_int_scanimage_default_br_x_test(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 11, SANE_ACTION_SET_VALUE, set_value, NULL); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, IMAGE_WIDTH); + json_object* value_object = json_object_object_get(h->scanner_config, IMAGE_WIDTH); int32_t value = json_object_get_int(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -384,8 +379,7 @@ void kds_s2000w_net_set_option_int_scanimage_default_br_y_test(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 12, SANE_ACTION_SET_VALUE, set_value, NULL); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, IMAGE_WIDTH); + json_object* value_object = json_object_object_get(h->scanner_config, IMAGE_WIDTH); int32_t value = json_object_get_int(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -420,8 +414,7 @@ void kds_s2000w_net_set_option_int_word_list_test(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 4, SANE_ACTION_SET_VALUE, set_value, NULL); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, DPI); + json_object* value_object = json_object_object_get(h->scanner_config, DPI); int32_t value = json_object_get_int(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -540,8 +533,7 @@ void kds_s2000w_net_set_option_cropping_mode_and_deps(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 7, SANE_ACTION_SET_VALUE, "Automatic", info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, CROPPING_MODE); + json_object* value_object = json_object_object_get(h->scanner_config, CROPPING_MODE); const char* value = json_object_get_string(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -577,8 +569,7 @@ void kds_s2000w_net_set_option_cropping_image_and_deps(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 8, SANE_ACTION_SET_VALUE, "PartialDocument", info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, CROPPING_IMAGE); + json_object* value_object = json_object_object_get(h->scanner_config, CROPPING_IMAGE); const char* value = json_object_get_string(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -614,8 +605,7 @@ void kds_s2000w_net_set_option_fourground_boldness_mode_and_deps(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 14, SANE_ACTION_SET_VALUE, "AutomaticAdvanced", info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, FOREGROUND_BOLDNESS_MODE); + json_object* value_object = json_object_object_get(h->scanner_config, FOREGROUND_BOLDNESS_MODE); const char* value = json_object_get_string(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -651,8 +641,7 @@ void kds_s2000w_net_set_option_background_smoothing_mode_and_deps(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 16, SANE_ACTION_SET_VALUE, "AutomaticAdvanced", info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, BACKGROUND_SMOOTHING_MODE); + json_object* value_object = json_object_object_get(h->scanner_config, BACKGROUND_SMOOTHING_MODE); const char* value = json_object_get_string(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -688,8 +677,7 @@ void kds_s2000w_net_set_option_color_balance_mode_and_deps(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 24, SANE_ACTION_SET_VALUE, "AutomaticAdvanced", info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, COLOR_BALANCE_MODE); + json_object* value_object = json_object_object_get(h->scanner_config, COLOR_BALANCE_MODE); const char* value = json_object_get_string(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -725,8 +713,7 @@ void kds_s2000w_net_set_option_color_auto_brightness_mode_and_deps(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 21, SANE_ACTION_SET_VALUE, "Automatic", info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, COLOR_AUTO_BRIGHTNESS_MODE); + json_object* value_object = json_object_object_get(h->scanner_config, COLOR_AUTO_BRIGHTNESS_MODE); const char* value = json_object_get_string(value_object); assert_int_equal(status, SANE_STATUS_GOOD); @@ -762,8 +749,7 @@ void kds_s2000w_net_set_option_color_dropout_and_deps(void** state) SANE_Status status = sane_kds_s2000w_net_control_option(h, 19, SANE_ACTION_SET_VALUE, "Green", info); - json_object* config = json_object_object_get(h->scanner_config, "Configuration"); - json_object* value_object = json_object_object_get(config, COLOR_DROP_OUT); + json_object* value_object = json_object_object_get(h->scanner_config, COLOR_DROP_OUT); const char* value = json_object_get_string(value_object); assert_int_equal(status, SANE_STATUS_GOOD); diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 678dfce..d7ad06c 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -135,7 +135,7 @@ void sane_kds_s2000w_net_get_parameter_color_test() handler_t* h = kds_s2000w_handler_init(); if (h == NULL) return; - const char* config = "{\"Configuration\":{\"ColorMode\":\"Color\"}}"; + const char* config = "{\"ColorMode\":\"Color\"}"; h->scanner_config = json_tokener_parse(config); h->image->size = 17; h->image->data = malloc(sizeof(char) * 17); @@ -191,7 +191,7 @@ void sane_kds_s2000w_net_get_parameter_bw_test() handler_t* h = kds_s2000w_handler_init(); if (h == NULL) return; - const char* config = "{\"Configuration\":{\"ColorMode\":\"Color\"}}"; + const char* config = "{\"ColorMode\":\"Color\"}"; h->scanner_config = json_tokener_parse(config); h->image->size = 17; h->image->data = malloc(sizeof(char) * 17); @@ -352,7 +352,7 @@ void sane_kds_s2000w_net_start_test(void** state) expect_function_call(__wrap_kds_s2000w_client_get_image); expect_function_call(__wrap_kds_s2000w_client_delete_image); handler_t* h = kds_s2000w_handler_init(); - const char* test_config = "{\"Configuration\": { \"ColorMode\": \"Color\" } }"; + const char* test_config = "{ \"ColorMode\": \"Color\" }"; h->scanner_config = json_tokener_parse(test_config); int result = sane_kds_s2000w_net_start(h); @@ -397,7 +397,7 @@ void sane_kds_s2000w_net_start_one_page_per_flatscan_test(void** state) expect_function_call(__wrap_kds_s2000w_client_get_image); expect_function_call(__wrap_kds_s2000w_client_delete_image); handler_t* h = kds_s2000w_handler_init(); - const char* test_config = "{\"Configuration\": { \"ColorMode\": \"Color\" } }"; + const char* test_config = "{ \"ColorMode\": \"Color\" }"; h->scanner_config = json_tokener_parse(test_config); int result = sane_kds_s2000w_net_start(h); @@ -444,7 +444,7 @@ void sane_kds_s2000w_net_start_one_page_per_feeder_test(void** state) expect_function_call(__wrap_kds_s2000w_client_delete_image); expect_function_call(__wrap_kds_s2000w_client_stop_scan); handler_t* h = kds_s2000w_handler_init(); - const char* test_config = "{\"Configuration\": { \"ColorMode\": \"Color\" } }"; + const char* test_config = "{ \"ColorMode\": \"Color\" }"; h->scanner_config = json_tokener_parse(test_config); int result = sane_kds_s2000w_net_start(h); @@ -492,7 +492,7 @@ void sane_kds_s2000w_net_start_two_pages_per_feeder_test(void** state) expect_function_call(__wrap_kds_s2000w_client_stop_scan); handler_t* h = kds_s2000w_handler_init(); - const char* test_config = "{\"Configuration\": { \"ColorMode\": \"Color\" } }"; + const char* test_config = "{ \"ColorMode\": \"Color\" }"; h->scanner_config = json_tokener_parse(test_config); sane_kds_s2000w_net_start(h);