diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index 06a9627b96..74b699c4b8 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -668,7 +668,20 @@ public class TiffDecoderTests : TiffDecoderBaseTester [WithFile(RgbOldJpegCompressed, PixelTypes.Rgba32)] [WithFile(YCbCrOldJpegCompressed, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_OldJpegCompressed(TestImageProvider provider) - where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + where TPixel : unmanaged, IPixel + { + DecoderOptions decoderOptions = new() + { + MaxFrames = 1 + }; + using Image image = provider.GetImage(TiffDecoder, decoderOptions); + image.DebugSave(provider); + image.CompareToOriginal( + provider, + ImageComparer.Tolerant(0.001f), + ReferenceDecoder, + decoderOptions); + } [Theory] [WithFile(WebpCompressed, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs b/tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs index 5032f8de58..f15f9abcc0 100644 --- a/tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs +++ b/tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs @@ -518,7 +518,8 @@ public static class TestImageExtensions this Image image, ITestImageProvider provider, ImageComparer comparer, - IImageDecoder referenceDecoder = null) + IImageDecoder referenceDecoder = null, + DecoderOptions referenceDecoderOptions = null) where TPixel : unmanaged, IPixel { string path = TestImageProvider.GetFilePathOrNull(provider); @@ -527,12 +528,12 @@ public static class TestImageExtensions throw new InvalidOperationException("CompareToOriginal() works only with file providers!"); } - var testFile = TestFile.Create(path); + TestFile testFile = TestFile.Create(path); referenceDecoder ??= TestEnvironment.GetReferenceDecoder(path); - using var stream = new MemoryStream(testFile.Bytes); - using (Image original = referenceDecoder.Decode(DecoderOptions.Default, stream, default)) + using MemoryStream stream = new(testFile.Bytes); + using (Image original = referenceDecoder.Decode(referenceDecoderOptions ?? DecoderOptions.Default, stream, default)) { comparer.VerifySimilarity(original, image); } @@ -553,11 +554,11 @@ public static class TestImageExtensions throw new InvalidOperationException("CompareToOriginal() works only with file providers!"); } - var testFile = TestFile.Create(path); + TestFile testFile = TestFile.Create(path); referenceDecoder ??= TestEnvironment.GetReferenceDecoder(path); - using var stream = new MemoryStream(testFile.Bytes); + using MemoryStream stream = new(testFile.Bytes); using (Image original = referenceDecoder.Decode(DecoderOptions.Default, stream, default)) { comparer.VerifySimilarity(original, image);