aboutsummaryrefslogtreecommitdiff
path: root/tests/Jellyfin.Api.Tests
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2023-01-10 17:02:23 +0100
committerBond_009 <bond.009@outlook.com>2023-02-16 15:08:01 +0100
commit60f41b80f66cc866c018c58e4567726cb6dac90d (patch)
treedbdf6d1dda64aaaac38a73b07ac01a3ca135b1c0 /tests/Jellyfin.Api.Tests
parent65f6c2e2fd7b3a7f308463e3bc096ba6e8bf65da (diff)
Verify ContentType of uploaded images
Diffstat (limited to 'tests/Jellyfin.Api.Tests')
-rw-r--r--tests/Jellyfin.Api.Tests/Controllers/ImageControllerTests.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/Jellyfin.Api.Tests/Controllers/ImageControllerTests.cs b/tests/Jellyfin.Api.Tests/Controllers/ImageControllerTests.cs
new file mode 100644
index 000000000..d6428fb2c
--- /dev/null
+++ b/tests/Jellyfin.Api.Tests/Controllers/ImageControllerTests.cs
@@ -0,0 +1,36 @@
+using System;
+using Jellyfin.Api.Controllers;
+using Xunit;
+
+namespace Jellyfin.Api.Tests.Controllers;
+
+public static class ImageControllerTests
+{
+ [Theory]
+ [InlineData("image/apng", ".apng")]
+ [InlineData("image/avif", ".avif")]
+ [InlineData("image/bmp", ".bmp")]
+ [InlineData("image/gif", ".gif")]
+ [InlineData("image/x-icon", ".ico")]
+ [InlineData("image/jpeg", ".jpg")]
+ [InlineData("image/png", ".png")]
+ [InlineData("image/png; charset=utf-8", ".png")]
+ [InlineData("image/svg+xml", ".svg")]
+ [InlineData("image/tiff", ".tiff")]
+ [InlineData("image/webp", ".webp")]
+ public static void TryGetImageExtensionFromContentType_Valid_True(string contentType, string extension)
+ {
+ Assert.True(ImageController.TryGetImageExtensionFromContentType(contentType, out var ex));
+ Assert.Equal(extension, ex);
+ }
+
+ [Theory]
+ [InlineData(null)]
+ [InlineData("")]
+ [InlineData("text/html")]
+ public static void TryGetImageExtensionFromContentType_InValid_False(string contentType)
+ {
+ Assert.False(ImageController.TryGetImageExtensionFromContentType(contentType, out var ex));
+ Assert.Null(ex);
+ }
+}