diff --git a/Tests/LibGfx/TestImageDecoder.cpp b/Tests/LibGfx/TestImageDecoder.cpp index 8021c771059..57d5270ad59 100644 --- a/Tests/LibGfx/TestImageDecoder.cpp +++ b/Tests/LibGfx/TestImageDecoder.cpp @@ -101,6 +101,17 @@ TEST_CASE(test_jpeg_sof0_one_scan) EXPECT(frame.duration == 0); } +TEST_CASE(test_jpeg_sof0_several_scans) +{ + auto file = MUST(Core::MappedFile::map(TEST_INPUT("several_scans.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(720, 859)); +} + TEST_CASE(test_pbm) { auto file = MUST(Core::MappedFile::map(TEST_INPUT("buggie-raw.pbm"sv))); diff --git a/Tests/LibGfx/test-inputs/several_scans.jpg b/Tests/LibGfx/test-inputs/several_scans.jpg new file mode 100644 index 00000000000..194ccff54de Binary files /dev/null and b/Tests/LibGfx/test-inputs/several_scans.jpg differ