From 69db4e9acb2bd4fcfe6137cd6048f8ac3683f829 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Wed, 28 Feb 2018 01:40:58 +0100 Subject: [PATCH] added failing tests for #464 --- .../Formats/Jpg/JpegDecoderTests.cs | 1 + .../Formats/Jpg/SpectralJpegTests.cs | 1 + tests/ImageSharp.Tests/TestImages.cs | 1 + tests/Images/External | 2 +- .../issues/Issue464-CMYK-DecodedAsGrayscale.jpg | Bin 0 -> 47443 bytes 5 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 tests/Images/Input/Jpg/issues/Issue464-CMYK-DecodedAsGrayscale.jpg diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs index 9d04cf354..d78277528 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs @@ -43,6 +43,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Baseline.Bad.BadEOF, TestImages.Jpeg.Baseline.Bad.ExifUndefType, TestImages.Jpeg.Issues.MultiHuffmanBaseline394, + TestImages.Jpeg.Issues.CmykIssueBaseline464 }; public static string[] ProgressiveTestJpegs = diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs index 4508c6863..32c3be47d 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs @@ -29,6 +29,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Baseline.Jpeg444, TestImages.Jpeg.Baseline.Testorig420, TestImages.Jpeg.Baseline.Jpeg420Small, TestImages.Jpeg.Baseline.Bad.BadEOF, TestImages.Jpeg.Baseline.Bad.ExifUndefType, + TestImages.Jpeg.Issues.CmykIssueBaseline464 }; public static readonly string[] ProgressiveTestJpegs = diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 864c96332..bb66414fb 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -129,6 +129,7 @@ namespace SixLabors.ImageSharp.Tests public const string BadCoeffsProgressive178 = "Jpg/issues/Issue178-BadCoeffsProgressive-Lemon.jpg"; public const string BadZigZagProgressive385 = "Jpg/issues/Issue385-BadZigZag-Progressive.jpg"; public const string MultiHuffmanBaseline394 = "Jpg/issues/Issue394-MultiHuffmanBaseline-Speakers.jpg"; + public const string CmykIssueBaseline464 = "Jpg/issues/Issue464-CMYK-DecodedAsGrayscale.jpg"; } public static readonly string[] All = Baseline.All.Concat(Progressive.All).ToArray(); diff --git a/tests/Images/External b/tests/Images/External index 20f83891c..cdc178daa 160000 --- a/tests/Images/External +++ b/tests/Images/External @@ -1 +1 @@ -Subproject commit 20f83891ce75597486f5532010a8c5dea1419a4d +Subproject commit cdc178daa552856157d1834ad136f9a28996a0f9 diff --git a/tests/Images/Input/Jpg/issues/Issue464-CMYK-DecodedAsGrayscale.jpg b/tests/Images/Input/Jpg/issues/Issue464-CMYK-DecodedAsGrayscale.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0803f9e5da30a30942b0df46facbd1603f8b1ffa GIT binary patch literal 47443 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