aboutsummaryrefslogtreecommitdiff
path: root/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs
diff options
context:
space:
mode:
authorcvium <clausvium@gmail.com>2021-09-03 21:25:18 +0200
committercvium <clausvium@gmail.com>2021-09-03 21:25:18 +0200
commit048c478b0d9fbad3c7e6ef7fcbf8e6c2b91fc013 (patch)
treee30a5eba97deff4b82a89099d802e06a67ae329c /tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs
parent02a56d8cf73e6745f651fe230520182f0398fae3 (diff)
parente83d7a866750405f790cc261d1894dc51c088bf4 (diff)
Merge branch 'master' into bug/authorization-header-issue
Diffstat (limited to 'tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs')
-rw-r--r--tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs b/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs
index 5864a0509..0a4e060df 100644
--- a/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs
+++ b/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs
@@ -1,3 +1,6 @@
+using System;
+using FsCheck;
+using FsCheck.Xunit;
using MediaBrowser.Model.Extensions;
using Xunit;
@@ -10,9 +13,20 @@ namespace Jellyfin.Model.Tests.Extensions
[InlineData("banana", "Banana")]
[InlineData("Banana", "Banana")]
[InlineData("ä", "Ä")]
+ [InlineData("\027", "\027")]
public void StringHelper_ValidArgs_Success(string input, string expectedResult)
{
Assert.Equal(expectedResult, StringHelper.FirstToUpper(input));
}
+
+ [Property]
+ public Property FirstToUpper_RandomArg_Correct(NonEmptyString input)
+ {
+ var result = StringHelper.FirstToUpper(input.Item);
+
+ // We check IsLower instead of IsUpper because both return false for non-letters
+ return (!char.IsLower(result[0])).Label("First char is uppercase")
+ .And(input.Item.Length == 1 || result[1..].Equals(input.Item[1..], StringComparison.Ordinal)).Label("Remaining chars are unmodified");
+ }
}
}