From b2607e170c1b2036347dbb7ce1e0fe7aa584ef18 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Wed, 19 Aug 2020 15:34:34 +0100 Subject: [PATCH] Add lightweight integration tests. --- .../General/IO/BufferedStreams.cs | 1 + .../Image/ImageTests.Identify.cs | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs b/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs index eb1bc7a851..f2ff49d4e9 100644 --- a/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs +++ b/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs @@ -40,6 +40,7 @@ namespace SixLabors.ImageSharp.Benchmarks.IO this.stream5 = new MemoryStream(this.buffer); this.stream6 = new MemoryStream(this.buffer); this.stream6 = new MemoryStream(this.buffer); + this.chunkedMemoryStream1 = new ChunkedMemoryStream(Configuration.Default.MemoryAllocator); this.chunkedMemoryStream1.Write(this.buffer); this.chunkedMemoryStream1.Position = 0; diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Identify.cs b/tests/ImageSharp.Tests/Image/ImageTests.Identify.cs index 72de3fcc44..3fbe1f70d8 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.Identify.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.Identify.cs @@ -89,6 +89,29 @@ namespace SixLabors.ImageSharp.Tests } } + [Fact] + public void FromNonSeekableStream_GlobalConfiguration() + { + using var stream = new MemoryStream(this.ActualImageBytes); + using var nonSeekableStream = new NonSeekableStream(stream); + + IImageInfo info = Image.Identify(nonSeekableStream, out IImageFormat type); + + Assert.NotNull(info); + Assert.Equal(ExpectedGlobalFormat, type); + } + + [Fact] + public void FromNonSeekableStream_GlobalConfiguration_NoFormat() + { + using var stream = new MemoryStream(this.ActualImageBytes); + using var nonSeekableStream = new NonSeekableStream(stream); + + IImageInfo info = Image.Identify(nonSeekableStream); + + Assert.NotNull(info); + } + [Fact] public void FromStream_CustomConfiguration() { @@ -140,6 +163,31 @@ namespace SixLabors.ImageSharp.Tests } } + [Fact] + public async Task FromNonSeekableStreamAsync_GlobalConfiguration_NoFormat() + { + using var stream = new MemoryStream(this.ActualImageBytes); + using var nonSeekableStream = new NonSeekableStream(stream); + + var asyncStream = new AsyncStreamWrapper(nonSeekableStream, () => false); + IImageInfo info = await Image.IdentifyAsync(asyncStream); + + Assert.NotNull(info); + } + + [Fact] + public async Task FromNonSeekableStreamAsync_GlobalConfiguration() + { + using var stream = new MemoryStream(this.ActualImageBytes); + using var nonSeekableStream = new NonSeekableStream(stream); + + var asyncStream = new AsyncStreamWrapper(nonSeekableStream, () => false); + (IImageInfo ImageInfo, IImageFormat Format) res = await Image.IdentifyWithFormatAsync(asyncStream); + + Assert.Equal(ExpectedImageSize, res.ImageInfo.Size()); + Assert.Equal(ExpectedGlobalFormat, res.Format); + } + [Fact] public async Task FromPathAsync_CustomConfiguration() {