From 4ed1df8ffc20b405a54e7533d72fbc72fd9e087f Mon Sep 17 00:00:00 2001 From: popow Date: Wed, 13 Jun 2018 19:42:41 +0200 Subject: [PATCH] added unit test which writes a png with a Exif Profile and checks after reloading it, if the profile is still there (#611) --- .../Profiles/Exif/ExifProfileTests.cs | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/MetaData/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/MetaData/Profiles/Exif/ExifProfileTests.cs index 3c69b57fd..3dd38b6d2 100644 --- a/tests/ImageSharp.Tests/MetaData/Profiles/Exif/ExifProfileTests.cs +++ b/tests/ImageSharp.Tests/MetaData/Profiles/Exif/ExifProfileTests.cs @@ -308,6 +308,23 @@ namespace SixLabors.ImageSharp.Tests Assert.Equal(495, bytes.Length); } + [Fact] + public void TestWritingPngPreservesExifProfile() + { + // arrange + Image image = TestFile.Create(TestImages.Png.Bike).CreateImage(); + ExifProfile expected = GetExifProfile(); + image.MetaData.ExifProfile = expected; + + // act + Image reloadedImage = WritePngAndRead(image); + + // assert + ExifProfile actual = reloadedImage.MetaData.ExifProfile; + Assert.NotNull(actual); + TestProfile(actual); + } + private static ExifProfile GetExifProfile() { Image image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateImage(); @@ -320,7 +337,7 @@ namespace SixLabors.ImageSharp.Tests private static Image WriteAndRead(Image image) { - using (MemoryStream memStream = new MemoryStream()) + using (var memStream = new MemoryStream()) { image.SaveAsJpeg(memStream); image.Dispose(); @@ -330,6 +347,18 @@ namespace SixLabors.ImageSharp.Tests } } + private static Image WritePngAndRead(Image image) + { + using (var memStream = new MemoryStream()) + { + image.SaveAsPng(memStream); + image.Dispose(); + + memStream.Position = 0; + return Image.Load(memStream); + } + } + private static void TestProfile(ExifProfile profile) { Assert.NotNull(profile);