mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using FsCheck;
 | 
						|
using FsCheck.Xunit;
 | 
						|
using MediaBrowser.Model.Extensions;
 | 
						|
using Xunit;
 | 
						|
 | 
						|
namespace Jellyfin.Model.Tests.Extensions
 | 
						|
{
 | 
						|
    public class StringHelperTests
 | 
						|
    {
 | 
						|
        [Theory]
 | 
						|
        [InlineData("", "")]
 | 
						|
        [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");
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |