From f223f39ff44690ebf3b4574005c0bb7978be5bb7 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Mon, 13 Apr 2020 14:54:45 +0100 Subject: [PATCH] Add argument docs and negative tests --- src/ImageSharp/ImageFrame{TPixel}.cs | 1 + src/ImageSharp/Image{TPixel}.cs | 1 + .../Image/LargeImageIntegrationTests.cs | 11 +++++++++++ 3 files changed, 13 insertions(+) diff --git a/src/ImageSharp/ImageFrame{TPixel}.cs b/src/ImageSharp/ImageFrame{TPixel}.cs index 0c00349f2..0171f3d07 100644 --- a/src/ImageSharp/ImageFrame{TPixel}.cs +++ b/src/ImageSharp/ImageFrame{TPixel}.cs @@ -173,6 +173,7 @@ namespace SixLabors.ImageSharp /// /// The row. /// The + /// Thrown when row index is out of range. public Span GetPixelRowSpan(int rowIndex) { Guard.MustBeGreaterThanOrEqualTo(rowIndex, 0, nameof(rowIndex)); diff --git a/src/ImageSharp/Image{TPixel}.cs b/src/ImageSharp/Image{TPixel}.cs index 20be772e2..f6173db97 100644 --- a/src/ImageSharp/Image{TPixel}.cs +++ b/src/ImageSharp/Image{TPixel}.cs @@ -169,6 +169,7 @@ namespace SixLabors.ImageSharp /// /// The row. /// The + /// Thrown when row index is out of range. public Span GetPixelRowSpan(int rowIndex) { Guard.MustBeGreaterThanOrEqualTo(rowIndex, 0, nameof(rowIndex)); diff --git a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs index c8a8baf1d..7352ddd7d 100644 --- a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs +++ b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs @@ -1,6 +1,7 @@ // Copyright (c) Six Labors and contributors. // Licensed under the Apache License, Version 2.0. +using System; using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Processing; using Xunit; @@ -17,5 +18,15 @@ namespace SixLabors.ImageSharp.Tests image.Mutate(c => c.Resize(1000, 1000)); image.DebugSave(provider); } + + [Theory] + [WithBasicTestPatternImages(width: 10, height: 10, PixelTypes.Rgba32)] + public void GetSingleSpan(TestImageProvider provider) + { + provider.LimitAllocatorBufferCapacity().InPixels(10); + using Image image = provider.GetImage(); + Assert.False(image.TryGetSinglePixelSpan(out Span imageSpan)); + Assert.False(image.Frames.RootFrame.TryGetSinglePixelSpan(out Span imageFrameSpan)); + } } }