summaryrefslogtreecommitdiff
path: root/Tests/LibGfx/TestImageDecoder.cpp
diff options
context:
space:
mode:
authorLucas CHOLLET <lucas.chollet@free.fr>2023-05-07 16:35:54 -0400
committerAndreas Kling <kling@serenityos.org>2023-05-09 07:00:15 +0200
commit8da9ff24e4e720b1e80a027f09c419ac9503f896 (patch)
tree12503cfc31dd981e338182f6dcc6f0d9839eca73 /Tests/LibGfx/TestImageDecoder.cpp
parent312c398b5982376e4ea49f8763cd3d8bcebb0930 (diff)
downloadserenity-8da9ff24e4e720b1e80a027f09c419ac9503f896.zip
Tests: Add tests for 12 bits JPEGs
In this commit, two tests are added, one with a `SOF1` image, the other with a `SOF2`.
Diffstat (limited to 'Tests/LibGfx/TestImageDecoder.cpp')
-rw-r--r--Tests/LibGfx/TestImageDecoder.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/Tests/LibGfx/TestImageDecoder.cpp b/Tests/LibGfx/TestImageDecoder.cpp
index 9faaecaa2f..b3b711885b 100644
--- a/Tests/LibGfx/TestImageDecoder.cpp
+++ b/Tests/LibGfx/TestImageDecoder.cpp
@@ -156,6 +156,28 @@ TEST_CASE(test_jpeg_sof2_successive_aproximation)
EXPECT_EQ(frame.image->size(), Gfx::IntSize(600, 800));
}
+TEST_CASE(test_jpeg_sof1_12bits)
+{
+ auto file = MUST(Core::MappedFile::map(TEST_INPUT("12-bit.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(320, 240));
+}
+
+TEST_CASE(test_jpeg_sof2_12bits)
+{
+ auto file = MUST(Core::MappedFile::map(TEST_INPUT("12-bit-progressive.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(320, 240));
+}
+
TEST_CASE(test_pbm)
{
auto file = MUST(Core::MappedFile::map(TEST_INPUT("buggie-raw.pbm"sv)));