diff --git a/Tests/LibGfx/TestICCProfile.cpp b/Tests/LibGfx/TestICCProfile.cpp index 4db30ac133..816d3d8e40 100644 --- a/Tests/LibGfx/TestICCProfile.cpp +++ b/Tests/LibGfx/TestICCProfile.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -39,3 +40,13 @@ TEST_CASE(jpg) auto icc_profile = MUST(Gfx::ICC::Profile::try_load_from_externally_owned_memory(icc_bytes.value())); EXPECT(icc_profile->is_v4()); } + +TEST_CASE(serialize_icc) +{ + auto file = MUST(Core::MappedFile::map(TEST_INPUT("p3-v4.icc"sv))); + auto icc_profile = MUST(Gfx::ICC::Profile::try_load_from_externally_owned_memory(file->bytes())); + EXPECT(icc_profile->is_v4()); + + auto serialized_bytes = MUST(Gfx::ICC::encode(*icc_profile)); + EXPECT_EQ(serialized_bytes, file->bytes()); +} diff --git a/Tests/LibGfx/test-inputs/p3-v4.icc b/Tests/LibGfx/test-inputs/p3-v4.icc new file mode 100644 index 0000000000..e310029c37 Binary files /dev/null and b/Tests/LibGfx/test-inputs/p3-v4.icc differ