mirror of https://github.com/SixLabors/ImageSharp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.1 KiB
82 lines
2.1 KiB
// Copyright (c) Six Labors.
|
|
// Licensed under the Six Labors Split License.
|
|
|
|
using System.Collections.ObjectModel;
|
|
using SixLabors.ImageSharp.Formats.Jpeg;
|
|
|
|
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
|
|
|
|
[Trait("Format", "Jpg")]
|
|
public class JpegMetadataTests
|
|
{
|
|
[Fact]
|
|
public void CloneIsDeep()
|
|
{
|
|
var meta = new JpegMetadata { ColorType = JpegColorType.Luminance };
|
|
var clone = (JpegMetadata)meta.DeepClone();
|
|
|
|
clone.ColorType = JpegColorType.YCbCrRatio420;
|
|
|
|
Assert.False(meta.ColorType.Equals(clone.ColorType));
|
|
}
|
|
|
|
[Fact]
|
|
public void Quality_DefaultQuality()
|
|
{
|
|
var meta = new JpegMetadata();
|
|
|
|
Assert.Equal(meta.Quality, ImageSharp.Formats.Jpeg.Components.Quantization.DefaultQualityFactor);
|
|
}
|
|
|
|
[Fact]
|
|
public void Quality_LuminanceOnlyQuality()
|
|
{
|
|
int quality = 50;
|
|
|
|
var meta = new JpegMetadata { LuminanceQuality = quality };
|
|
|
|
Assert.Equal(meta.Quality, quality);
|
|
}
|
|
|
|
[Fact]
|
|
public void Quality_BothComponentsQuality()
|
|
{
|
|
int quality = 50;
|
|
|
|
var meta = new JpegMetadata { LuminanceQuality = quality, ChrominanceQuality = quality };
|
|
|
|
Assert.Equal(meta.Quality, quality);
|
|
}
|
|
|
|
[Fact]
|
|
public void Quality_ReturnsMaxQuality()
|
|
{
|
|
int qualityLuma = 50;
|
|
int qualityChroma = 30;
|
|
|
|
var meta = new JpegMetadata { LuminanceQuality = qualityLuma, ChrominanceQuality = qualityChroma };
|
|
|
|
Assert.Equal(meta.Quality, qualityLuma);
|
|
}
|
|
|
|
[Fact]
|
|
public void Comment_EmptyComment()
|
|
{
|
|
var meta = new JpegMetadata();
|
|
|
|
Assert.True(Array.Empty<JpegComData>().SequenceEqual(meta.Comments));
|
|
}
|
|
|
|
[Fact]
|
|
public void Comment_OnlyComment()
|
|
{
|
|
string comment = "test comment";
|
|
var expectedCollection = new Collection<string> { comment };
|
|
|
|
var meta = new JpegMetadata();
|
|
meta.Comments.Add(JpegComData.FromString(comment));
|
|
|
|
Assert.Equal(1, meta.Comments.Count);
|
|
Assert.True(expectedCollection.FirstOrDefault() == meta.Comments.FirstOrDefault().ToString());
|
|
}
|
|
}
|
|
|