Add a test for issue 1086

Add a test for https://github.com/AOMediaCodec/libavif/issues/1086 to
prevent regression.
diff --git a/tests/data/paris_icc_exif_xmp.avif b/tests/data/paris_icc_exif_xmp.avif
new file mode 100644
index 0000000..c66de3a
--- /dev/null
+++ b/tests/data/paris_icc_exif_xmp.avif
Binary files differ
diff --git a/tests/gtest/avifmetadatatest.cc b/tests/gtest/avifmetadatatest.cc
index 4fe8cf7..4ac7961 100644
--- a/tests/gtest/avifmetadatatest.cc
+++ b/tests/gtest/avifmetadatatest.cc
@@ -196,6 +196,22 @@
   }
 }
 
+// A test for https://github.com/AOMediaCodec/libavif/issues/1086 to prevent
+// regression.
+TEST(MetadataTest, DecoderParseICC) {
+  std::string file_path = std::string(data_path) + "paris_icc_exif_xmp.avif";
+  avifDecoder* decoder = avifDecoderCreate();
+  EXPECT_EQ(avifDecoderSetIOFile(decoder, file_path.c_str()), AVIF_RESULT_OK);
+  EXPECT_EQ(avifDecoderParse(decoder), AVIF_RESULT_OK);
+  // Check the first four bytes of the ICC profile.
+  ASSERT_GE(decoder->image->icc.size, 4u);
+  EXPECT_EQ(decoder->image->icc.data[0], 0);
+  EXPECT_EQ(decoder->image->icc.data[1], 0);
+  EXPECT_EQ(decoder->image->icc.data[2], 2);
+  EXPECT_EQ(decoder->image->icc.data[3], 84);
+  avifDecoderDestroy(decoder);
+}
+
 //------------------------------------------------------------------------------
 
 }  // namespace