Browse Source

Add unit test for issue #1014

pull/1020/head
Brian Popow 6 years ago
parent
commit
fdab536376
  1. 24
      tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs
  2. 8
      tests/ImageSharp.Tests/TestImages.cs
  3. BIN
      tests/Images/Input/Png/issues/Issue_1014_1.png
  4. BIN
      tests/Images/Input/Png/issues/Issue_1014_2.png
  5. BIN
      tests/Images/Input/Png/issues/Issue_1014_3.png
  6. BIN
      tests/Images/Input/Png/issues/Issue_1014_4.png
  7. BIN
      tests/Images/Input/Png/issues/Issue_1014_5.png
  8. BIN
      tests/Images/Input/Png/issues/Issue_1014_6.png

24
tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs

@ -75,6 +75,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
TestImages.Png.GrayAlpha8BitInterlaced
};
public static readonly string[] TestImagesIssue1014 =
{
TestImages.Png.Issue1014_1, TestImages.Png.Issue1014_2,
TestImages.Png.Issue1014_3, TestImages.Png.Issue1014_4,
TestImages.Png.Issue1014_5, TestImages.Png.Issue1014_6
};
[Theory]
[WithFileCollection(nameof(CommonTestImages), PixelTypes.Rgba32)]
public void Decode<TPixel>(TestImageProvider<TPixel> provider)
@ -199,5 +206,22 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
Assert.Equal(expectedPixelSize, Image.Identify(stream)?.PixelType?.BitsPerPixel);
}
}
[Theory]
[WithFileCollection(nameof(TestImagesIssue1014), PixelTypes.Rgba32)]
public void Issue1014<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel>
{
System.Exception ex = Record.Exception(
() =>
{
using (Image<TPixel> image = provider.GetImage(new PngDecoder()))
{
image.DebugSave(provider);
// TODO: compare to expected output
}
});
Assert.Null(ex);
}
}
}

8
tests/ImageSharp.Tests/TestImages.cs

@ -82,6 +82,14 @@ namespace SixLabors.ImageSharp.Tests
public const string Ducky = "Png/ducky.png";
public const string Rainbow = "Png/rainbow.png";
// Issue 1014: https://github.com/SixLabors/ImageSharp/issues/1014
public const string Issue1014_1 = "Png/issues/Issue_1014_1.png";
public const string Issue1014_2 = "Png/issues/Issue_1014_2.png";
public const string Issue1014_3 = "Png/issues/Issue_1014_3.png";
public const string Issue1014_4 = "Png/issues/Issue_1014_4.png";
public const string Issue1014_5 = "Png/issues/Issue_1014_5.png";
public const string Issue1014_6 = "Png/issues/Issue_1014_6.png";
public static class Bad
{
// Odd chunk lengths

BIN
tests/Images/Input/Png/issues/Issue_1014_1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
tests/Images/Input/Png/issues/Issue_1014_2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
tests/Images/Input/Png/issues/Issue_1014_3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
tests/Images/Input/Png/issues/Issue_1014_4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
tests/Images/Input/Png/issues/Issue_1014_5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
tests/Images/Input/Png/issues/Issue_1014_6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Loading…
Cancel
Save