From de9194c5acf3e26303c48e5554fe4933e2021b0c Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Sat, 28 Jan 2017 03:22:13 +0100 Subject: [PATCH] "covered" the metadataOnly == true case --- .../Formats/Jpg/JpegDecoderTests.cs | 39 +++++++++++++++---- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs index 12ebee3e5c..01ffa2eb0c 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs @@ -43,23 +43,22 @@ namespace ImageSharp.Tests provider.Utility.SaveTestOutputFile(image, "bmp"); } - + [Theory] [WithSolidFilledImages(16, 16, 255, 0, 0, PixelTypes.StandardImageClass, JpegSubsample.Ratio420, 75)] [WithSolidFilledImages(16, 16, 255, 0, 0, PixelTypes.StandardImageClass, JpegSubsample.Ratio420, 100)] [WithSolidFilledImages(16, 16, 255, 0, 0, PixelTypes.StandardImageClass, JpegSubsample.Ratio444, 75)] [WithSolidFilledImages(16, 16, 255, 0, 0, PixelTypes.StandardImageClass, JpegSubsample.Ratio444, 100)] [WithSolidFilledImages(8, 8, 255, 0, 0, PixelTypes.StandardImageClass, JpegSubsample.Ratio444, 100)] - public void DecodeGenerated_SaveBmp(TestImageProvider provider, JpegSubsample subsample, int qulaity) + public void DecodeGenerated_SaveBmp( + TestImageProvider provider, + JpegSubsample subsample, + int quality) where TColor : struct, IPackedPixel, IEquatable { Image image = provider.GetImage(); - JpegEncoder encoder = new JpegEncoder() - { - Subsample = subsample, - Quality = qulaity - }; + JpegEncoder encoder = new JpegEncoder() { Subsample = subsample, Quality = quality }; byte[] data = new byte[65536]; using (MemoryStream ms = new MemoryStream(data)) @@ -69,8 +68,32 @@ namespace ImageSharp.Tests // TODO: Automatic image comparers could help here a lot :P Image mirror = provider.Factory.CreateImage(data); - provider.Utility.TestName += $"_{subsample}_Q{qulaity}"; + provider.Utility.TestName += $"_{subsample}_Q{quality}"; provider.Utility.SaveTestOutputFile(mirror, "bmp"); } + + [Theory] + [WithSolidFilledImages(42, 88, 255, 0, 0, PixelTypes.StandardImageClass)] + public void DecodeGenerated_MetadataOnly( + TestImageProvider provider) + where TColor : struct, IPackedPixel, IEquatable + { + Image image = provider.GetImage(); + + using (MemoryStream ms = new MemoryStream()) + { + image.Save(ms, new JpegEncoder()); + ms.Seek(0, SeekOrigin.Begin); + + Image mirror = provider.Factory.CreateImage(1, 1); + using (JpegDecoderCore decoder = new JpegDecoderCore()) + { + decoder.Decode(mirror, ms, true); + + Assert.Equal(decoder.ImageWidth, image.Width); + Assert.Equal(decoder.ImageHeight, image.Height); + } + } + } } } \ No newline at end of file