From 53554d2e3e1bc312de2b0c8b878b9dedc7ab7283 Mon Sep 17 00:00:00 2001 From: pekspro Date: Wed, 15 Jul 2020 10:53:51 +0200 Subject: [PATCH] Adds ImageExtensionsTest for png. --- .../Formats/Png/ImageExtensionsTest.cs | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 tests/ImageSharp.Tests/Formats/Png/ImageExtensionsTest.cs diff --git a/tests/ImageSharp.Tests/Formats/Png/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Png/ImageExtensionsTest.cs new file mode 100644 index 0000000000..9360d79eb2 --- /dev/null +++ b/tests/ImageSharp.Tests/Formats/Png/ImageExtensionsTest.cs @@ -0,0 +1,152 @@ +using System.IO; +using System.Threading.Tasks; +using SixLabors.ImageSharp.Formats; +using SixLabors.ImageSharp.Formats.Png; +using SixLabors.ImageSharp.PixelFormats; +using Xunit; + +namespace SixLabors.ImageSharp.Tests.Formats.Png +{ + public class ImageExtensionsTest + { + [Fact] + public void SaveAsPng_Path() + { + string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageExtensionsTest)); + string file = Path.Combine(dir, "SaveAsPng_Path.png"); + + using (var image = new Image(10, 10)) + { + image.SaveAsPng(file); + } + + using (Image.Load(file, out IImageFormat mime)) + { + Assert.Equal("image/png", mime.DefaultMimeType); + } + } + + [Fact] + public async Task SaveAsPngAsync_Path() + { + string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageExtensionsTest)); + string file = Path.Combine(dir, "SaveAsPngAsync_Path.png"); + + using (var image = new Image(10, 10)) + { + await image.SaveAsPngAsync(file); + } + + using (Image.Load(file, out IImageFormat mime)) + { + Assert.Equal("image/png", mime.DefaultMimeType); + } + } + + [Fact] + public void SaveAsPng_Path_Encoder() + { + string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageExtensions)); + string file = Path.Combine(dir, "SaveAsPng_Path_Encoder.png"); + + using (var image = new Image(10, 10)) + { + image.SaveAsPng(file, new PngEncoder()); + } + + using (Image.Load(file, out IImageFormat mime)) + { + Assert.Equal("image/png", mime.DefaultMimeType); + } + } + + [Fact] + public async Task SaveAsPngAsync_Path_Encoder() + { + string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageExtensions)); + string file = Path.Combine(dir, "SaveAsPngAsync_Path_Encoder.png"); + + using (var image = new Image(10, 10)) + { + await image.SaveAsPngAsync(file, new PngEncoder()); + } + + using (Image.Load(file, out IImageFormat mime)) + { + Assert.Equal("image/png", mime.DefaultMimeType); + } + } + + [Fact] + public void SaveAsPng_Stream() + { + using var memoryStream = new MemoryStream(); + + using (var image = new Image(10, 10)) + { + image.SaveAsPng(memoryStream); + } + + memoryStream.Position = 0; + + using (Image.Load(memoryStream, out IImageFormat mime)) + { + Assert.Equal("image/png", mime.DefaultMimeType); + } + } + + [Fact] + public async Task SaveAsPngAsync_StreamAsync() + { + using var memoryStream = new MemoryStream(); + + using (var image = new Image(10, 10)) + { + await image.SaveAsPngAsync(memoryStream); + } + + memoryStream.Position = 0; + + using (Image.Load(memoryStream, out IImageFormat mime)) + { + Assert.Equal("image/png", mime.DefaultMimeType); + } + } + + [Fact] + public void SaveAsPng_Stream_Encoder() + { + using var memoryStream = new MemoryStream(); + + using (var image = new Image(10, 10)) + { + image.SaveAsPng(memoryStream, new PngEncoder()); + } + + memoryStream.Position = 0; + + using (Image.Load(memoryStream, out IImageFormat mime)) + { + Assert.Equal("image/png", mime.DefaultMimeType); + } + } + + [Fact] + public async Task SaveAsPngAsync_Stream_Encoder() + { + using var memoryStream = new MemoryStream(); + + using (var image = new Image(10, 10)) + { + await image.SaveAsPngAsync(memoryStream, new PngEncoder()); + } + + memoryStream.Position = 0; + + using (Image.Load(memoryStream, out IImageFormat mime)) + { + Assert.Equal("image/png", mime.DefaultMimeType); + } + } + } +}