diff --git a/src/.gitattributes b/src/.gitattributes index b6f71e69..95b3502d 100644 --- a/src/.gitattributes +++ b/src/.gitattributes @@ -4,6 +4,7 @@ *.pdf binary *.png binary *.tiff binary +*.webp binary *.verified.txt text eol=lf working-tree-encoding=UTF-8 *.verified.xml text eol=lf working-tree-encoding=UTF-8 diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 24ac771d..ed5b91ef 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,7 +2,7 @@ CS1591;CS0649;NU1608;NU1109 - 3.7.7 + 3.8.0 1.0.0 enable preview diff --git a/src/Tests/Tests.VerifyWebp.verified.webp b/src/Tests/Tests.VerifyWebp.verified.webp new file mode 100644 index 00000000..a608fc85 Binary files /dev/null and b/src/Tests/Tests.VerifyWebp.verified.webp differ diff --git a/src/Tests/Tests.cs b/src/Tests/Tests.cs index e8271fb9..39a13b4d 100644 --- a/src/Tests/Tests.cs +++ b/src/Tests/Tests.cs @@ -56,6 +56,10 @@ public Task CompareDifferent() public Task VerifyPdf() => VerifyFile("sample.pdf"); + [Test] + public Task VerifyWebp() => + VerifyFile("sample.webp"); + [Test] public Task VerifyPdfWithName() => Verify(targets: [new("pdf", File.OpenRead("sample.pdf"), "name")]); diff --git a/src/Tests/sample.webp b/src/Tests/sample.webp new file mode 100644 index 00000000..a608fc85 Binary files /dev/null and b/src/Tests/sample.webp differ diff --git a/src/Verify.ImageMagick/VerifyImageMagick.cs b/src/Verify.ImageMagick/VerifyImageMagick.cs index 834fa0c0..d699e116 100644 --- a/src/Verify.ImageMagick/VerifyImageMagick.cs +++ b/src/Verify.ImageMagick/VerifyImageMagick.cs @@ -21,6 +21,9 @@ public static void Initialize() VerifierSettings.RegisterStreamConverter( "png", (name, stream, context) => ConvertImage(name, stream, context, "png", MagickFormat.Png)); + VerifierSettings.RegisterStreamConverter( + "webp", + (name, stream, context) => ConvertImage(name, stream, context, "webp", MagickFormat.WebP)); VerifierSettings.RegisterStreamConverter( "tiff", (name, stream, context) => ConvertImage(name, stream, context, "tiff", MagickFormat.Tiff)); @@ -61,6 +64,7 @@ public static void RegisterComparers(double threshold = .005, ErrorMetric metric RegisterComparer(threshold, metric, "jpg"); RegisterComparer(threshold, metric, "bmp"); RegisterComparer(threshold, metric, "tiff"); + RegisterComparer(threshold, metric, "webp"); VerifierSettings.RegisterStringComparer( "svg", (received, verified, _) => CompareSvg(threshold, metric, received, verified)); @@ -97,7 +101,7 @@ internal static Task Compare(double threshold, ErrorMetric metric public static void ImageMagickComparer(this VerifySettings settings, double threshold = .005, ErrorMetric metric = ErrorMetric.Fuzz) => settings.UseStreamComparer( (received, verified, _) => Compare(threshold, metric, received, verified), - extensions: ["png", "jpg", "bmp", "tiff"]); + extensions: ["png", "jpg", "bmp", "tiff", "webp"]); /// /// Helper method that calls and