{
handler* h = init_handler();
h->read_info->scan_started = 1;
- SANE_Parameters* params = malloc(sizeof(SANE_Parameters));
+ SANE_Parameters params;
- SANE_Status status = _sane_kds_s2000w_net_get_parameters(h, params);
+ SANE_Status status = _sane_kds_s2000w_net_get_parameters(h, ¶ms);
ck_assert_int_eq(status, SANE_STATUS_UNSUPPORTED);
- free(params);
- params = NULL;
+ free_handler(h);
+ h = NULL;
+}
+END_TEST
+
+START_TEST(kds_s2000w_net_get_parameters_with_image_data)
+{
+ handler* h = init_handler();
+ h->read_info->scan_started = 1;
+ h->current_metadata->valid = 1;
+ h->current_metadata->format = 1;
+ h->current_metadata->is_last = 1;
+ h->current_metadata->bytes_per_line = 42;
+ h->current_metadata->pixels_per_line = 1080;
+ h->current_metadata->lines = 100;
+ h->current_metadata->depth = 8;
+ SANE_Parameters params;
+
+ SANE_Status status = _sane_kds_s2000w_net_get_parameters(h, ¶ms);
+
+ ck_assert_int_eq(params.format, 1);
+ ck_assert_int_eq(params.last_frame, 1);
+ ck_assert_int_eq(params.bytes_per_line, 42);
+ ck_assert_int_eq(params.pixels_per_line, 1080);
+ ck_assert_int_eq(params.lines, 100);
+ ck_assert_int_eq(params.depth, 8);
+ ck_assert_int_eq(status, SANE_STATUS_GOOD);
+
free_handler(h);
h = NULL;
}
TCase* net_get_params = tcase_create("get parameters");
tcase_add_test(net_get_params, kds_s2000w_net_get_parameters_invalid_metdata);
+ tcase_add_test(net_get_params, kds_s2000w_net_get_parameters_with_image_data);
suite_add_tcase(get_params, net_get_params);
return get_params;
}