diff --git a/Tests/LibGfx/TestImageDecoder.cpp b/Tests/LibGfx/TestImageDecoder.cpp index c7925f9295f..f5a1533438d 100644 --- a/Tests/LibGfx/TestImageDecoder.cpp +++ b/Tests/LibGfx/TestImageDecoder.cpp @@ -112,6 +112,17 @@ TEST_CASE(test_jpeg_sof0_several_scans) EXPECT_EQ(frame.image->size(), Gfx::IntSize(592, 800)); } +TEST_CASE(test_jpeg_rgb_components) +{ + auto file = MUST(Core::MappedFile::map(TEST_INPUT("rgb_components.jpg"sv))); + EXPECT(Gfx::JPEGImageDecoderPlugin::sniff(file->bytes())); + auto plugin_decoder = MUST(Gfx::JPEGImageDecoderPlugin::create(file->bytes())); + EXPECT(plugin_decoder->initialize()); + + auto frame = MUST(plugin_decoder->frame(0)); + EXPECT_EQ(frame.image->size(), Gfx::IntSize(592, 800)); +} + TEST_CASE(test_jpeg_sof2_spectral_selection) { auto file = MUST(Core::MappedFile::map(TEST_INPUT("spectral_selection.jpg"sv))); diff --git a/Tests/LibGfx/test-inputs/rgb_components.jpg b/Tests/LibGfx/test-inputs/rgb_components.jpg new file mode 100644 index 00000000000..e451c5cc298 Binary files /dev/null and b/Tests/LibGfx/test-inputs/rgb_components.jpg differ