diff options
Diffstat (limited to 'testsuite')
| -rw-r--r-- | testsuite/backend/genesys/tests_image_pipeline.cpp | 38 | ||||
| -rw-r--r-- | testsuite/tools/Makefile.am | 2 | 
2 files changed, 36 insertions, 4 deletions
| diff --git a/testsuite/backend/genesys/tests_image_pipeline.cpp b/testsuite/backend/genesys/tests_image_pipeline.cpp index 8edeff8..8c46e8d 100644 --- a/testsuite/backend/genesys/tests_image_pipeline.cpp +++ b/testsuite/backend/genesys/tests_image_pipeline.cpp @@ -468,7 +468,7 @@ void test_node_invert_1_bits()      ASSERT_EQ(out_data, expected_data);  } -void test_node_merge_mono_lines() +void test_node_merge_mono_lines_to_color()  {      using Data = std::vector<std::uint8_t>; @@ -481,7 +481,7 @@ void test_node_merge_mono_lines()      ImagePipelineStack stack;      stack.push_first_node<ImagePipelineNodeArraySource>(8, 3, PixelFormat::I8,                                                          std::move(in_data)); -    stack.push_node<ImagePipelineNodeMergeMonoLines>(ColorOrder::RGB); +    stack.push_node<ImagePipelineNodeMergeMonoLinesToColor>(ColorOrder::RGB);      ASSERT_EQ(stack.get_output_width(), 8u);      ASSERT_EQ(stack.get_output_height(), 1u); @@ -500,6 +500,37 @@ void test_node_merge_mono_lines()      ASSERT_EQ(out_data, expected_data);  } +void test_node_merge_color_to_gray() +{ +    using Data = std::vector<std::uint8_t>; + +    Data in_data = { +        0x10, 0x20, 0x30, 0x11, 0x21, 0x31, +        0x12, 0x22, 0x32, 0x13, 0x23, 0x33, +        0x14, 0x24, 0x34, 0x15, 0x25, 0x35, +        0x16, 0x26, 0x36, 0x17, 0x27, 0x37, +    }; + +    ImagePipelineStack stack; +    stack.push_first_node<ImagePipelineNodeArraySource>(8, 1, PixelFormat::RGB888, +                                                        std::move(in_data)); +    stack.push_node<ImagePipelineNodeMergeColorToGray>(); + +    ASSERT_EQ(stack.get_output_width(), 8u); +    ASSERT_EQ(stack.get_output_height(), 1u); +    ASSERT_EQ(stack.get_output_row_bytes(), 8u); +    ASSERT_EQ(stack.get_output_format(), PixelFormat::I8); + +    auto out_data = stack.get_all_data(); + +    Data expected_data = { +        0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24 +    }; + +    ASSERT_EQ(out_data, expected_data); +} + +  void test_node_split_mono_lines()  {      using Data = std::vector<std::uint8_t>; @@ -937,7 +968,8 @@ void test_image_pipeline()      test_node_invert_16_bits();      test_node_invert_8_bits();      test_node_invert_1_bits(); -    test_node_merge_mono_lines(); +    test_node_merge_mono_lines_to_color(); +    test_node_merge_color_to_gray();      test_node_split_mono_lines();      test_node_component_shift_lines();      test_node_pixel_shift_columns_no_switch(); diff --git a/testsuite/tools/Makefile.am b/testsuite/tools/Makefile.am index 99af9db..c9122ac 100644 --- a/testsuite/tools/Makefile.am +++ b/testsuite/tools/Makefile.am @@ -32,7 +32,7 @@ check.local:  	for mode in ascii html-backends-split html-mfgs xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \  	do \  	  $(SANEDESC) -m $$mode -s $(srcdir)/data >$$mode.res ;\ -	  if diff -I "sane-backends 1\.0\.[0-9]\+\([-.0-9a-fgdirty]\+\)\?$$" \ +          if diff -I "sane-backends 1\.[0-9]\.[0-9]\+\([-.0-9a-fgdirty]\+\)\?$$" \  	       $(srcdir)/data/$$mode.ref $$mode.res ; \  	  then \  		echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \ | 
