From f7bc8d77479781899924afa2f28773fe61ec48ce Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Wed, 22 Sep 2021 18:23:07 +0200 Subject: [PATCH 1/5] Added test image & test method --- ImageSharp.sln | 4 ++-- .../Formats/Png/PngDecoderTests.cs | 18 ++++++++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 3 +++ tests/Images/Input/Png/issues/Issue_1765.png | 3 +++ 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 tests/Images/Input/Png/issues/Issue_1765.png diff --git a/ImageSharp.sln b/ImageSharp.sln index bf1f3579c..c71ec11d7 100644 --- a/ImageSharp.sln +++ b/ImageSharp.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.28902.138 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31710.8 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_root", "_root", "{C317F1B1-D75E-4C6D-83EB-80367343E0D7}" ProjectSection(SolutionItems) = preProject diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index 9832aeb7b..a517c4a4a 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -368,6 +368,24 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png Assert.Null(ex); } + // https://github.com/SixLabors/ImageSharp/issues/1765 + [Theory] + [WithFile(TestImages.Png.Issue1765, PixelTypes.Rgba32)] + public void Issue1765(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + System.Exception ex = Record.Exception( + () => + { + using (Image image = provider.GetImage(PngDecoder)) + { + image.DebugSave(provider); + image.CompareToOriginal(provider, ImageComparer.Exact); + } + }); + Assert.Null(ex); + } + // https://github.com/SixLabors/ImageSharp/issues/410 [Theory] [WithFile(TestImages.Png.Bad.Issue410_MalformedApplePng, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index d1a6624af..ee85029ce 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -111,6 +111,9 @@ namespace SixLabors.ImageSharp.Tests // Issue 935: https://github.com/SixLabors/ImageSharp/issues/935 public const string Issue935 = "Png/issues/Issue_935.png"; + // Issue 1765: https://github.com/SixLabors/ImageSharp/issues/1765 + public const string Issue1765 = "png/issues/Issue_1765.png"; + public static class Bad { public const string MissingDataChunk = "Png/xdtn0g01.png"; diff --git a/tests/Images/Input/Png/issues/Issue_1765.png b/tests/Images/Input/Png/issues/Issue_1765.png new file mode 100644 index 000000000..c9705550f --- /dev/null +++ b/tests/Images/Input/Png/issues/Issue_1765.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86ea14567bcd259d76dc782ee366c23a5755714c6d48f636524b23e75b89e5b6 +size 775275 From c1e8c15b88296c01d4c2976c949b4442b7bb73ad Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Wed, 22 Sep 2021 18:23:07 +0200 Subject: [PATCH 2/5] Added test image & test method --- ImageSharp.sln | 5 +++-- .../Formats/Png/PngDecoderTests.cs | 18 ++++++++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 3 +++ tests/Images/Input/Png/issues/Issue_1765.png | 3 +++ 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 tests/Images/Input/Png/issues/Issue_1765.png diff --git a/ImageSharp.sln b/ImageSharp.sln index bf1f3579c..b6f3b5a0f 100644 --- a/ImageSharp.sln +++ b/ImageSharp.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.28902.138 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31710.8 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_root", "_root", "{C317F1B1-D75E-4C6D-83EB-80367343E0D7}" ProjectSection(SolutionItems) = preProject @@ -403,6 +403,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "issues", "issues", "{670DD4 tests\Images\Input\Png\issues\Issue_1127.png = tests\Images\Input\Png\issues\Issue_1127.png tests\Images\Input\Png\issues\Issue_1177_1.png = tests\Images\Input\Png\issues\Issue_1177_1.png tests\Images\Input\Png\issues\Issue_1177_2.png = tests\Images\Input\Png\issues\Issue_1177_2.png + tests\Images\Input\Png\issues\Issue_1765.png = tests\Images\Input\Png\issues\Issue_1765.png tests\Images\Input\Png\issues\Issue_410.png = tests\Images\Input\Png\issues\Issue_410.png tests\Images\Input\Png\issues\Issue_935.png = tests\Images\Input\Png\issues\Issue_935.png EndProjectSection diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index 9832aeb7b..a517c4a4a 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -368,6 +368,24 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png Assert.Null(ex); } + // https://github.com/SixLabors/ImageSharp/issues/1765 + [Theory] + [WithFile(TestImages.Png.Issue1765, PixelTypes.Rgba32)] + public void Issue1765(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + System.Exception ex = Record.Exception( + () => + { + using (Image image = provider.GetImage(PngDecoder)) + { + image.DebugSave(provider); + image.CompareToOriginal(provider, ImageComparer.Exact); + } + }); + Assert.Null(ex); + } + // https://github.com/SixLabors/ImageSharp/issues/410 [Theory] [WithFile(TestImages.Png.Bad.Issue410_MalformedApplePng, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index d1a6624af..ee85029ce 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -111,6 +111,9 @@ namespace SixLabors.ImageSharp.Tests // Issue 935: https://github.com/SixLabors/ImageSharp/issues/935 public const string Issue935 = "Png/issues/Issue_935.png"; + // Issue 1765: https://github.com/SixLabors/ImageSharp/issues/1765 + public const string Issue1765 = "png/issues/Issue_1765.png"; + public static class Bad { public const string MissingDataChunk = "Png/xdtn0g01.png"; diff --git a/tests/Images/Input/Png/issues/Issue_1765.png b/tests/Images/Input/Png/issues/Issue_1765.png new file mode 100644 index 000000000..c9705550f --- /dev/null +++ b/tests/Images/Input/Png/issues/Issue_1765.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86ea14567bcd259d76dc782ee366c23a5755714c6d48f636524b23e75b89e5b6 +size 775275 From 7b7ee4a9fb16e27b556061d87e38e64d5f583758 Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Wed, 22 Sep 2021 18:27:41 +0200 Subject: [PATCH 3/5] Reverted sln version change --- ImageSharp.sln | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ImageSharp.sln b/ImageSharp.sln index b6f3b5a0f..6ae369f2d 100644 --- a/ImageSharp.sln +++ b/ImageSharp.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31710.8 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28902.138 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_root", "_root", "{C317F1B1-D75E-4C6D-83EB-80367343E0D7}" ProjectSection(SolutionItems) = preProject From c967e3653ad1b1f9dd1a54a713e7e0d6709c637d Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Wed, 22 Sep 2021 18:39:40 +0200 Subject: [PATCH 4/5] Was it a capital letter issue? --- tests/ImageSharp.Tests/TestImages.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index ee85029ce..fb6cc7b67 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -112,7 +112,7 @@ namespace SixLabors.ImageSharp.Tests public const string Issue935 = "Png/issues/Issue_935.png"; // Issue 1765: https://github.com/SixLabors/ImageSharp/issues/1765 - public const string Issue1765 = "png/issues/Issue_1765.png"; + public const string Issue1765 = "Png/issues/Issue_1765.png"; public static class Bad { From b055e8b14bb9e75d8093fb99b6b2cba24b873495 Mon Sep 17 00:00:00 2001 From: Gerard Gunnewijk Date: Thu, 23 Sep 2021 17:02:55 +0200 Subject: [PATCH 5/5] Renamed the file and file reference --- ImageSharp.sln | 2 +- tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs | 2 +- tests/ImageSharp.Tests/TestImages.cs | 2 +- .../{Issue_1765.png => Issue_1765_Net6DeflateStreamRead.png} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename tests/Images/Input/Png/issues/{Issue_1765.png => Issue_1765_Net6DeflateStreamRead.png} (100%) diff --git a/ImageSharp.sln b/ImageSharp.sln index 6ae369f2d..c433d22f5 100644 --- a/ImageSharp.sln +++ b/ImageSharp.sln @@ -403,7 +403,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "issues", "issues", "{670DD4 tests\Images\Input\Png\issues\Issue_1127.png = tests\Images\Input\Png\issues\Issue_1127.png tests\Images\Input\Png\issues\Issue_1177_1.png = tests\Images\Input\Png\issues\Issue_1177_1.png tests\Images\Input\Png\issues\Issue_1177_2.png = tests\Images\Input\Png\issues\Issue_1177_2.png - tests\Images\Input\Png\issues\Issue_1765.png = tests\Images\Input\Png\issues\Issue_1765.png + tests\Images\Input\Png\issues\Issue_1765_Net6DeflateStreamRead.png = tests\Images\Input\Png\issues\Issue_1765_Net6DeflateStreamRead.png tests\Images\Input\Png\issues\Issue_410.png = tests\Images\Input\Png\issues\Issue_410.png tests\Images\Input\Png\issues\Issue_935.png = tests\Images\Input\Png\issues\Issue_935.png EndProjectSection diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index a517c4a4a..9fc4d03dd 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -370,7 +370,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png // https://github.com/SixLabors/ImageSharp/issues/1765 [Theory] - [WithFile(TestImages.Png.Issue1765, PixelTypes.Rgba32)] + [WithFile(TestImages.Png.Issue1765_Net6DeflateStreamRead, PixelTypes.Rgba32)] public void Issue1765(TestImageProvider provider) where TPixel : unmanaged, IPixel { diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index fb6cc7b67..b0a219711 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -112,7 +112,7 @@ namespace SixLabors.ImageSharp.Tests public const string Issue935 = "Png/issues/Issue_935.png"; // Issue 1765: https://github.com/SixLabors/ImageSharp/issues/1765 - public const string Issue1765 = "Png/issues/Issue_1765.png"; + public const string Issue1765_Net6DeflateStreamRead = "Png/issues/Issue_1765_Net6DeflateStreamRead.png"; public static class Bad { diff --git a/tests/Images/Input/Png/issues/Issue_1765.png b/tests/Images/Input/Png/issues/Issue_1765_Net6DeflateStreamRead.png similarity index 100% rename from tests/Images/Input/Png/issues/Issue_1765.png rename to tests/Images/Input/Png/issues/Issue_1765_Net6DeflateStreamRead.png