Browse Source

MetaData => Metadata code.

af/merge-core
James Jackson-South 6 years ago
parent
commit
fa1e1c5b91
  1. 8
      tests/ImageSharp.Tests/Formats/Bmp/BmpMetadataTests.cs
  2. 10
      tests/ImageSharp.Tests/Formats/Gif/GifEncoderTests.cs
  3. 2
      tests/ImageSharp.Tests/Formats/Gif/GifFrameMetadataTests.cs
  4. 2
      tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs
  5. 16
      tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs
  6. 2
      tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
  7. 8
      tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs
  8. 2
      tests/ImageSharp.Tests/Formats/Png/PngSmokeTests.cs
  9. 22
      tests/ImageSharp.Tests/Metadata/ImageFrameMetadataTests.cs
  10. 6
      tests/ImageSharp.Tests/Metadata/ImageMetadataTests.cs
  11. 2
      tests/ImageSharp.Tests/TestImages.cs

8
tests/ImageSharp.Tests/Formats/Bmp/BmpMetadataTests.cs

@ -12,7 +12,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Bmp
{ {
using static TestImages.Bmp; using static TestImages.Bmp;
public class BmpMetaDataTests public class BmpMetadataTests
{ {
[Fact] [Fact]
public void CloneIsDeep() public void CloneIsDeep()
@ -41,9 +41,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Bmp
{ {
IImageInfo imageInfo = Image.Identify(stream); IImageInfo imageInfo = Image.Identify(stream);
Assert.NotNull(imageInfo); Assert.NotNull(imageInfo);
BmpMetadata bitmapMetaData = imageInfo.Metadata.GetBmpMetadata(); BmpMetadata bitmapMetadata = imageInfo.Metadata.GetBmpMetadata();
Assert.NotNull(bitmapMetaData); Assert.NotNull(bitmapMetadata);
Assert.Equal(expectedInfoHeaderType, bitmapMetaData.InfoHeaderType); Assert.Equal(expectedInfoHeaderType, bitmapMetadata.InfoHeaderType);
} }
} }
} }

10
tests/ImageSharp.Tests/Formats/Gif/GifEncoderTests.cs

@ -136,12 +136,12 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
var image = Image.Load<Rgba32>(inStream); var image = Image.Load<Rgba32>(inStream);
GifMetadata metaData = image.Metadata.GetGifMetadata(); GifMetadata metaData = image.Metadata.GetGifMetadata();
GifFrameMetadata frameMetaData = image.Frames.RootFrame.Metadata.GetGifMetadata(); GifFrameMetadata frameMetadata = image.Frames.RootFrame.Metadata.GetGifMetadata();
GifColorTableMode colorMode = metaData.ColorTableMode; GifColorTableMode colorMode = metaData.ColorTableMode;
var encoder = new GifEncoder var encoder = new GifEncoder
{ {
ColorTableMode = colorMode, ColorTableMode = colorMode,
Quantizer = new OctreeQuantizer(frameMetaData.ColorTableLength) Quantizer = new OctreeQuantizer(frameMetadata.ColorTableLength)
}; };
image.Save(outStream, encoder); image.Save(outStream, encoder);
@ -150,11 +150,11 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
outStream.Position = 0; outStream.Position = 0;
var clone = Image.Load<Rgba32>(outStream); var clone = Image.Load<Rgba32>(outStream);
GifMetadata cloneMetaData = clone.Metadata.GetGifMetadata(); GifMetadata cloneMetadata = clone.Metadata.GetGifMetadata();
Assert.Equal(metaData.ColorTableMode, cloneMetaData.ColorTableMode); Assert.Equal(metaData.ColorTableMode, cloneMetadata.ColorTableMode);
// Gifiddle and Cyotek GifInfo say this image has 64 colors. // Gifiddle and Cyotek GifInfo say this image has 64 colors.
Assert.Equal(64, frameMetaData.ColorTableLength); Assert.Equal(64, frameMetadata.ColorTableLength);
for (int i = 0; i < image.Frames.Count; i++) for (int i = 0; i < image.Frames.Count; i++)
{ {

2
tests/ImageSharp.Tests/Formats/Gif/GifFrameMetadataTests.cs

@ -6,7 +6,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Formats.Gif namespace SixLabors.ImageSharp.Tests.Formats.Gif
{ {
public class GifFrameMetaDataTests public class GifFrameMetadataTests
{ {
[Fact] [Fact]
public void CloneIsDeep() public void CloneIsDeep()

2
tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs

@ -13,7 +13,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Formats.Gif namespace SixLabors.ImageSharp.Tests.Formats.Gif
{ {
public class GifMetaDataTests public class GifMetadataTests
{ {
public static readonly TheoryData<string, int, int, PixelResolutionUnit> RatioFiles = public static readonly TheoryData<string, int, int, PixelResolutionUnit> RatioFiles =
new TheoryData<string, int, int, PixelResolutionUnit> new TheoryData<string, int, int, PixelResolutionUnit>

16
tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs

@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
{ {
// TODO: A JPEGsnoop & metadata expert should review if the Exif/Icc expectations are correct. // TODO: A JPEGsnoop & metadata expert should review if the Exif/Icc expectations are correct.
// I'm seeing several entries with Exif-related names in images where we do not decode an exif profile. (- Anton) // I'm seeing several entries with Exif-related names in images where we do not decode an exif profile. (- Anton)
public static readonly TheoryData<bool, string, int, bool, bool> MetaDataTestData = public static readonly TheoryData<bool, string, int, bool, bool> MetadataTestData =
new TheoryData<bool, string, int, bool, bool> new TheoryData<bool, string, int, bool, bool>
{ {
{ false, TestImages.Jpeg.Progressive.Progress, 24, false, false }, { false, TestImages.Jpeg.Progressive.Progress, 24, false, false },
@ -58,15 +58,15 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
}; };
[Theory] [Theory]
[MemberData(nameof(MetaDataTestData))] [MemberData(nameof(MetadataTestData))]
public void MetaDataIsParsedCorrectly( public void MetadataIsParsedCorrectly(
bool useIdentify, bool useIdentify,
string imagePath, string imagePath,
int expectedPixelSize, int expectedPixelSize,
bool exifProfilePresent, bool exifProfilePresent,
bool iccProfilePresent) bool iccProfilePresent)
{ {
TestMetaDataImpl( TestMetadataImpl(
useIdentify, useIdentify,
JpegDecoder, JpegDecoder,
imagePath, imagePath,
@ -152,7 +152,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
} }
} }
private static void TestMetaDataImpl( private static void TestMetadataImpl(
bool useIdentify, bool useIdentify,
IImageDecoder decoder, IImageDecoder decoder,
string imagePath, string imagePath,
@ -209,16 +209,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
[Theory] [Theory]
[InlineData(false)] [InlineData(false)]
[InlineData(true)] [InlineData(true)]
public void IgnoreMetaData_ControlsWhetherMetaDataIsParsed(bool ignoreMetaData) public void IgnoreMetadata_ControlsWhetherMetadataIsParsed(bool ignoreMetadata)
{ {
var decoder = new JpegDecoder { IgnoreMetadata = ignoreMetaData }; var decoder = new JpegDecoder { IgnoreMetadata = ignoreMetadata };
// Snake.jpg has both Exif and ICC profiles defined: // Snake.jpg has both Exif and ICC profiles defined:
var testFile = TestFile.Create(TestImages.Jpeg.Baseline.Snake); var testFile = TestFile.Create(TestImages.Jpeg.Baseline.Snake);
using (Image<Rgba32> image = testFile.CreateRgba32Image(decoder)) using (Image<Rgba32> image = testFile.CreateRgba32Image(decoder))
{ {
if (ignoreMetaData) if (ignoreMetadata)
{ {
Assert.Null(image.Metadata.ExifProfile); Assert.Null(image.Metadata.ExifProfile);
Assert.Null(image.Metadata.IccProfile); Assert.Null(image.Metadata.IccProfile);

2
tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs

@ -6,7 +6,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg namespace SixLabors.ImageSharp.Tests.Formats.Jpg
{ {
public class JpegMetaDataTests public class JpegMetadataTests
{ {
[Fact] [Fact]
public void CloneIsDeep() public void CloneIsDeep()

8
tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs

@ -11,7 +11,7 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests.Formats.Png namespace SixLabors.ImageSharp.Tests.Formats.Png
{ {
public class PngMetaDataTests public class PngMetadataTests
{ {
public static readonly TheoryData<string, int, int, PixelResolutionUnit> RatioFiles = public static readonly TheoryData<string, int, int, PixelResolutionUnit> RatioFiles =
new TheoryData<string, int, int, PixelResolutionUnit> new TheoryData<string, int, int, PixelResolutionUnit>
@ -49,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
} }
[Theory] [Theory]
[WithFile(TestImages.Png.PngWithMetaData, PixelTypes.Rgba32)] [WithFile(TestImages.Png.PngWithMetadata, PixelTypes.Rgba32)]
public void Decoder_CanReadTextData<TPixel>(TestImageProvider<TPixel> provider) public void Decoder_CanReadTextData<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -71,7 +71,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
} }
[Theory] [Theory]
[WithFile(TestImages.Png.PngWithMetaData, PixelTypes.Rgba32)] [WithFile(TestImages.Png.PngWithMetadata, PixelTypes.Rgba32)]
public void Encoder_PreservesTextData<TPixel>(TestImageProvider<TPixel> provider) public void Encoder_PreservesTextData<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {
@ -118,7 +118,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
} }
[Theory] [Theory]
[WithFile(TestImages.Png.PngWithMetaData, PixelTypes.Rgba32)] [WithFile(TestImages.Png.PngWithMetadata, PixelTypes.Rgba32)]
public void Encode_UseCompression_WhenTextIsGreaterThenThreshold_Works<TPixel>(TestImageProvider<TPixel> provider) public void Encode_UseCompression_WhenTextIsGreaterThenThreshold_Works<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : struct, IPixel<TPixel> where TPixel : struct, IPixel<TPixel>
{ {

2
tests/ImageSharp.Tests/Formats/Png/PngSmokeTests.cs

@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
// using (Image<TPixel> source = provider.GetImage()) // using (Image<TPixel> source = provider.GetImage())
// using (MemoryStream ms = new MemoryStream()) // using (MemoryStream ms = new MemoryStream())
// { // {
// source.MetaData.Quality = 256; // source.Metadata.Quality = 256;
// source.Save(ms, new PngEncoder(), new PngEncoderOptions { // source.Save(ms, new PngEncoder(), new PngEncoderOptions {
// Threshold = 200 // Threshold = 200
// }); // });

22
tests/ImageSharp.Tests/Metadata/ImageFrameMetadataTests.cs

@ -8,29 +8,29 @@ using Xunit;
namespace SixLabors.ImageSharp.Tests namespace SixLabors.ImageSharp.Tests
{ {
/// <summary> /// <summary>
/// Tests the <see cref="ImageFrameMetaDataTests"/> class. /// Tests the <see cref="ImageFrameMetadataTests"/> class.
/// </summary> /// </summary>
public class ImageFrameMetaDataTests public class ImageFrameMetadataTests
{ {
[Fact] [Fact]
public void ConstructorImageFrameMetaData() public void ConstructorImageFrameMetadata()
{ {
const int frameDelay = 42; const int frameDelay = 42;
const int colorTableLength = 128; const int colorTableLength = 128;
const GifDisposalMethod disposalMethod = GifDisposalMethod.RestoreToBackground; const GifDisposalMethod disposalMethod = GifDisposalMethod.RestoreToBackground;
var metaData = new ImageFrameMetadata(); var metaData = new ImageFrameMetadata();
GifFrameMetadata gifFrameMetaData = metaData.GetGifMetadata(); GifFrameMetadata gifFrameMetadata = metaData.GetGifMetadata();
gifFrameMetaData.FrameDelay = frameDelay; gifFrameMetadata.FrameDelay = frameDelay;
gifFrameMetaData.ColorTableLength = colorTableLength; gifFrameMetadata.ColorTableLength = colorTableLength;
gifFrameMetaData.DisposalMethod = disposalMethod; gifFrameMetadata.DisposalMethod = disposalMethod;
var clone = new ImageFrameMetadata(metaData); var clone = new ImageFrameMetadata(metaData);
GifFrameMetadata cloneGifFrameMetaData = clone.GetGifMetadata(); GifFrameMetadata cloneGifFrameMetadata = clone.GetGifMetadata();
Assert.Equal(frameDelay, cloneGifFrameMetaData.FrameDelay); Assert.Equal(frameDelay, cloneGifFrameMetadata.FrameDelay);
Assert.Equal(colorTableLength, cloneGifFrameMetaData.ColorTableLength); Assert.Equal(colorTableLength, cloneGifFrameMetadata.ColorTableLength);
Assert.Equal(disposalMethod, cloneGifFrameMetaData.DisposalMethod); Assert.Equal(disposalMethod, cloneGifFrameMetadata.DisposalMethod);
} }
[Fact] [Fact]

6
tests/ImageSharp.Tests/Metadata/ImageMetadataTests.cs

@ -8,15 +8,15 @@ using SixLabors.ImageSharp.Primitives;
using Xunit; using Xunit;
namespace SixLabors.ImageSharp.Tests.MetaData namespace SixLabors.ImageSharp.Tests.Metadata
{ {
/// <summary> /// <summary>
/// Tests the <see cref="ImageMetadata"/> class. /// Tests the <see cref="ImageMetadata"/> class.
/// </summary> /// </summary>
public class ImageMetaDataTests public class ImageMetadataTests
{ {
[Fact] [Fact]
public void ConstructorImageMetaData() public void ConstructorImageMetadata()
{ {
var metaData = new ImageMetadata(); var metaData = new ImageMetadata();

2
tests/ImageSharp.Tests/TestImages.cs

@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.Tests
public const string Gray4BitTrans = "Png/gray-4-tRNS.png"; public const string Gray4BitTrans = "Png/gray-4-tRNS.png";
public const string L8BitTrans = "Png/gray-8-tRNS.png"; public const string L8BitTrans = "Png/gray-8-tRNS.png";
public const string LowColorVariance = "Png/low-variance.png"; public const string LowColorVariance = "Png/low-variance.png";
public const string PngWithMetaData = "Png/PngWithMetaData.png"; public const string PngWithMetadata = "Png/PngWithMetaData.png";
public const string InvalidTextData = "Png/InvalidTextData.png"; public const string InvalidTextData = "Png/InvalidTextData.png";
// Filtered test images from http://www.schaik.com/pngsuite/pngsuite_fil_png.html // Filtered test images from http://www.schaik.com/pngsuite/pngsuite_fil_png.html

Loading…
Cancel
Save