Skip to content

Commit

Permalink
Tests: Check that color indexing reduces file size
Browse files Browse the repository at this point in the history
  • Loading branch information
nico committed May 31, 2024
1 parent 10514f1 commit 947be62
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion Tests/LibGfx/TestImageWriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,16 @@ TEST_CASE(test_webp_color_indexing_transform)
for (int x = 0; x < bitmap->width(); ++x)
bitmap->set_pixel(x, y, colors[(x * bitmap->width() + y) % number_of_colors]);

TRY_OR_FAIL((test_roundtrip<Gfx::WebPWriter, Gfx::WebPImageDecoderPlugin>(bitmap)));
auto encoded_data = TRY_OR_FAIL(encode_bitmap<Gfx::WebPWriter>(bitmap));
auto decoded_bitmap = TRY_OR_FAIL(expect_single_frame_of_size(*TRY_OR_FAIL(Gfx::WebPImageDecoderPlugin::create(encoded_data)), bitmap->size()));
expect_bitmaps_equal(*decoded_bitmap, *bitmap);

Gfx::WebPEncoderOptions options;
options.vp8l_options.allowed_transforms = 0;
auto encoded_data_without_color_indexing = TRY_OR_FAIL(encode_bitmap<Gfx::WebPWriter>(bitmap, options));
EXPECT(encoded_data.size() < encoded_data_without_color_indexing.size());
auto decoded_bitmap_without_color_indexing = TRY_OR_FAIL(expect_single_frame_of_size(*TRY_OR_FAIL(Gfx::WebPImageDecoderPlugin::create(encoded_data)), bitmap->size()));
expect_bitmaps_equal(*decoded_bitmap_without_color_indexing, *decoded_bitmap);
}
}

Expand Down

0 comments on commit 947be62

Please sign in to comment.