Browse Source

added unit test which writes a png with a Exif Profile and checks after reloading it, if the profile is still there (#611)

pull/616/head
popow 8 years ago
parent
commit
4ed1df8ffc
  1. 31
      tests/ImageSharp.Tests/MetaData/Profiles/Exif/ExifProfileTests.cs

31
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<Rgba32> image = TestFile.Create(TestImages.Png.Bike).CreateImage();
ExifProfile expected = GetExifProfile();
image.MetaData.ExifProfile = expected;
// act
Image<Rgba32> reloadedImage = WritePngAndRead(image);
// assert
ExifProfile actual = reloadedImage.MetaData.ExifProfile;
Assert.NotNull(actual);
TestProfile(actual);
}
private static ExifProfile GetExifProfile()
{
Image<Rgba32> image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateImage();
@ -320,7 +337,7 @@ namespace SixLabors.ImageSharp.Tests
private static Image<Rgba32> WriteAndRead(Image<Rgba32> 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<Rgba32> WritePngAndRead(Image<Rgba32> image)
{
using (var memStream = new MemoryStream())
{
image.SaveAsPng(memStream);
image.Dispose();
memStream.Position = 0;
return Image.Load<Rgba32>(memStream);
}
}
private static void TestProfile(ExifProfile profile)
{
Assert.NotNull(profile);

Loading…
Cancel
Save