diff options
| author | Patrick Barron <barronpm@gmail.com> | 2021-06-18 18:47:44 -0400 |
|---|---|---|
| committer | Patrick Barron <barronpm@gmail.com> | 2021-06-18 18:56:10 -0400 |
| commit | be88efce3cbbd357142a75f109258d6c7be398b4 (patch) | |
| tree | df8a0bf9d5e108d45a473edd8121a9af91ca6a0d /tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs | |
| parent | 336ba2879f325a4efd52bc7737ce94f40369bfeb (diff) | |
| parent | c791c3a215b33bd4ca534c9f383c9fd7d23b59af (diff) | |
Merge branch 'master' into authenticationdb-efcore
# Conflicts:
# Emby.Server.Implementations/Devices/DeviceManager.cs
# Emby.Server.Implementations/HttpServer/Security/SessionContext.cs
# Emby.Server.Implementations/Security/AuthenticationRepository.cs
# Emby.Server.Implementations/Session/SessionManager.cs
# Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
# MediaBrowser.Controller/Library/IUserManager.cs
# MediaBrowser.Controller/Net/ISessionContext.cs
Diffstat (limited to 'tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs')
| -rw-r--r-- | tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs | 14 |
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"); + } } } |
