Browse Source

Merge branch 'master' into af/better-gray8

af/merge-core
James Jackson-South 7 years ago
committed by GitHub
parent
commit
2a9dd0a415
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/ImageSharp/Common/Extensions/EncoderExtensions.cs
  2. 32
      tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
  3. 4
      tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs
  4. 2
      tests/ImageSharp.Tests/TestImages.cs
  5. 2
      tests/Images/External
  6. 3
      tests/Images/Input/Jpg/issues/issue750-exif-load.jpg
  7. 3
      tests/Images/Input/Jpg/issues/issue750-exif-tranform.jpg

5
src/ImageSharp/Common/Extensions/EncoderExtensions.cs

@ -20,6 +20,11 @@ namespace SixLabors.ImageSharp
/// <returns>The string.</returns>
public static string GetString(this Encoding encoding, ReadOnlySpan<byte> buffer)
{
if (buffer.Length == 0)
{
return string.Empty;
}
fixed (byte* bytes = buffer)
{
return encoding.GetString(bytes, buffer.Length);

32
tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs

@ -0,0 +1,32 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using System;
using System.Text;
using Xunit;
namespace SixLabors.ImageSharp.Tests.Common
{
public class EncoderExtensionsTests
{
[Fact]
public void GetString_EmptyBuffer_ReturnsEmptyString()
{
var buffer = new ReadOnlySpan<byte>();
string result = Encoding.UTF8.GetString(buffer);
Assert.Equal(string.Empty, result);
}
[Fact]
public void GetString_Buffer_ReturnsString()
{
var buffer = new ReadOnlySpan<byte>(new byte[] { 73, 109, 97, 103, 101, 83, 104, 97, 114, 112 });
string result = Encoding.UTF8.GetString(buffer);
Assert.Equal("ImageSharp", result);
}
}
}

4
tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs

@ -26,7 +26,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
TestImages.Jpeg.Issues.ExifDecodeOutOfRange694,
TestImages.Jpeg.Issues.InvalidEOI695,
TestImages.Jpeg.Issues.ExifResizeOutOfRange696,
TestImages.Jpeg.Issues.InvalidAPP0721
TestImages.Jpeg.Issues.InvalidAPP0721,
TestImages.Jpeg.Issues.ExifGetString750Load,
TestImages.Jpeg.Issues.ExifGetString750Transform
};
public static string[] ProgressiveTestJpegs =

2
tests/ImageSharp.Tests/TestImages.cs

@ -160,6 +160,8 @@ namespace SixLabors.ImageSharp.Tests
public const string OrderedInterleavedProgressive723A = "Jpg/issues/Issue723-Ordered-Interleaved-Progressive-A.jpg";
public const string OrderedInterleavedProgressive723B = "Jpg/issues/Issue723-Ordered-Interleaved-Progressive-B.jpg";
public const string OrderedInterleavedProgressive723C = "Jpg/issues/Issue723-Ordered-Interleaved-Progressive-C.jpg";
public const string ExifGetString750Transform = "Jpg/issues/issue750-exif-tranform.jpg";
public const string ExifGetString750Load = "Jpg/issues/issue750-exif-load.jpg";
}
public static readonly string[] All = Baseline.All.Concat(Progressive.All).ToArray();

2
tests/Images/External

@ -1 +1 @@
Subproject commit ee90e5f32218027744b5d40058b587cc1047b76f
Subproject commit c6980db777e49d5e526b56cb986001d1a191acdf

3
tests/Images/Input/Jpg/issues/issue750-exif-load.jpg

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0919126bfa5be74782e6db4bd8fb82c6211ea2cca1f6b76cfa9cee7fdd418ff
size 36885

3
tests/Images/Input/Jpg/issues/issue750-exif-tranform.jpg

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:14bd38b41f94e86c56ebc3b1612ced04fa4741982d916e01d6e3bf75e6c80f26
size 5587341
Loading…
Cancel
Save