From 922d367fe69c9ea78a11f5deaa903b7e5aacb97c Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 21 Jun 2018 21:26:17 +1000 Subject: [PATCH] More tests --- .../Formats/Png/PngDecoderTests.cs | 23 ++++++++++-------- .../PixelFormats/Rgb48Tests.cs | 15 ++++++++++++ .../PixelFormats/Rgba64Tests.cs | 17 ++++++++++++- tests/ImageSharp.Tests/TestImages.cs | 3 ++- tests/Images/External | 2 +- ...6-tRNS.png => gray-16-tRNS-interlaced.png} | Bin tests/Images/Input/Png/gray-alpha-8.png | Bin 0 -> 684 bytes 7 files changed, 47 insertions(+), 13 deletions(-) rename tests/Images/Input/Png/{gray-16-tRNS.png => gray-16-tRNS-interlaced.png} (100%) create mode 100644 tests/Images/Input/Png/gray-alpha-8.png diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index 8162d61bd2..53f71fb7b9 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -79,6 +79,7 @@ namespace SixLabors.ImageSharp.Tests TestImages.Png.VimImage2, TestImages.Png.Rgb24BppTrans, + TestImages.Png.GrayAlpha8Bit }; public static readonly string[] TestImages48Bpp = @@ -101,21 +102,23 @@ namespace SixLabors.ImageSharp.Tests public static readonly string[] TestImagesGrayAlpha16Bit = { TestImages.Png.GrayAlpha16Bit, - TestImages.Png.GrayTrns16Bit + TestImages.Png.GrayTrns16BitInterlaced }; // This is a workaround for Mono-s decoder being incompatible with ours and GDI+. // We shouldn't mix these with the Interleaved cases (which are also failing with Mono System.Drawing). Let's go AAA! private static readonly string[] SkipOnMono = - { - TestImages.Png.Bad.ChunkLength2, - TestImages.Png.VimImage2, - TestImages.Png.Splash, - TestImages.Png.Indexed, - TestImages.Png.Bad.ChunkLength1, - TestImages.Png.VersioningImage1, - TestImages.Png.Banner7Adam7InterlaceMode, - }; + { + TestImages.Png.Bad.ChunkLength2, + TestImages.Png.VimImage2, + TestImages.Png.Splash, + TestImages.Png.Indexed, + TestImages.Png.Bad.ChunkLength1, + TestImages.Png.VersioningImage1, + TestImages.Png.Banner7Adam7InterlaceMode, + TestImages.Png.GrayTrns16BitInterlaced, + TestImages.Png.Rgb48BppInterlaced + }; private static bool SkipVerification(ITestImageProvider provider) { diff --git a/tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs index ae8cb968af..77d6544f00 100644 --- a/tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs +++ b/tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs @@ -103,6 +103,21 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats Assert.Equal(expected, actual); } + [Fact] + public void Rgb48_ToArgb32() + { + // arrange + var rgba48 = new Rgb48(0.08f, 0.15f, 0.30f); + var actual = default(Argb32); + var expected = new Argb32(20, 38, 76, 255); + + // act + rgba48.ToArgb32(ref actual); + + // assert + Assert.Equal(expected, actual); + } + [Fact] public void Rgba64_ToBgr24() { diff --git a/tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs b/tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs index 12f4d7afc5..92b36a1c62 100644 --- a/tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs +++ b/tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs @@ -105,6 +105,21 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats Assert.Equal(expected, actual); } + [Fact] + public void Rgba64_ToArgb32() + { + // arrange + var rgba64 = new Rgba64(0.08f, 0.15f, 0.30f, 0.45f); + var actual = default(Argb32); + var expected = new Argb32(20, 38, 76, 115); + + // act + rgba64.ToArgb32(ref actual); + + // assert + Assert.Equal(expected, actual); + } + [Fact] public void Rgba64_ToBgr24() { @@ -155,7 +170,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats public void Rgb48_PackFromRgb48_ToRgb48() { // arrange - var input = default(Rgb48); + var input = default(Rgba64); var actual = default(Rgb48); var expected = new Rgb48(65535, 0, 65535); diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 8722c8b48a..6d3a76e75f 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -28,8 +28,9 @@ namespace SixLabors.ImageSharp.Tests public const string Bpp1 = "Png/bpp1.png"; public const string Gray4Bpp = "Png/gray_4bpp.png"; public const string Gray16Bit = "Png/gray-16.png"; + public const string GrayAlpha8Bit = "Png/gray-alpha-8.png"; public const string GrayAlpha16Bit = "Png/gray-alpha-16.png"; - public const string GrayTrns16Bit = "Png/gray-16-tRNS.png"; + public const string GrayTrns16BitInterlaced = "Png/gray-16-tRNS-interlaced.png"; public const string Rgb24BppTrans = "Png/rgb-8-tRNS.png"; public const string Rgb48Bpp = "Png/rgb-48bpp.png"; public const string Rgb48BppInterlaced = "Png/rgb-48bpp-interlaced.png"; diff --git a/tests/Images/External b/tests/Images/External index 94cc43a65e..6fcee2ccd5 160000 --- a/tests/Images/External +++ b/tests/Images/External @@ -1 +1 @@ -Subproject commit 94cc43a65e304aa312bea9d098206086095e6dff +Subproject commit 6fcee2ccd5e8bac98a0290b467ad86bb02d00b6c diff --git a/tests/Images/Input/Png/gray-16-tRNS.png b/tests/Images/Input/Png/gray-16-tRNS-interlaced.png similarity index 100% rename from tests/Images/Input/Png/gray-16-tRNS.png rename to tests/Images/Input/Png/gray-16-tRNS-interlaced.png diff --git a/tests/Images/Input/Png/gray-alpha-8.png b/tests/Images/Input/Png/gray-alpha-8.png new file mode 100644 index 0000000000000000000000000000000000000000..eb0a92499810b1da4ca73787f7ca610339f40ddc GIT binary patch literal 684 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K588}#g)VJz{w?Im##5JPCIlrK?C^J2ygkhzE zk%6JH4v;Wa@XF7~Q*bWL%gfA5&q&NwaLO;wNiC`^DgFo4SCSbLQR0)CoSIh*lm;4_ zn#aJvab35^m#KCsyuhD zj#;%@D{=~Y?_KIIn6-IYU;E~gq@uio*>TJG%QoM-uk`SJ+ro3V_8IjhYlzQ2b@>FZ zv5{8OjTvjzfS%ax>EaktaqI0RL!h5H4sYQ7zo_z~gA{k}s`I|5(%B3c*bXpAFfb=D q@H8+EFlSIW0ul@Z91>thTxU9x#LQQ=LwN@S5O})!xvX