Files
Umbraco-CMS/src/Umbraco.Tests.UnitTests/Umbraco.Core/ShortStringHelper/CmsHelperCasingTests.cs

47 lines
1.8 KiB
C#
Raw Normal View History

using Microsoft.Extensions.Options;
using Moq;
using NUnit.Framework;
using Umbraco.Core;
2020-09-21 21:06:24 +02:00
using Umbraco.Core.Configuration.Models;
using Umbraco.Core.Configuration.Models;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.Strings;
2020-08-24 22:58:23 +02:00
using Umbraco.Tests.Common.Builders;
using Umbraco.Tests.TestHelpers;
2016-12-16 10:40:14 +01:00
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.UnitTests.Umbraco.Core.ShortStringHelper
{
[TestFixture]
public class CmsHelperCasingTests
{
private IShortStringHelper ShortStringHelper => new DefaultShortStringHelper(Options.Create(new RequestHandlerSettings()));
[TestCase("thisIsTheEnd", "This Is The End")]
[TestCase("th", "Th")]
[TestCase("t", "t")]
[TestCase("thisis", "Thisis")]
[TestCase("ThisIsTheEnd", "This Is The End")]
//[TestCase("WhoIsNumber6InTheVillage", "Who Is Number6In The Village")] // note the issue with Number6In
[TestCase("WhoIsNumber6InTheVillage", "Who Is Number6 In The Village")] // now fixed since DefaultShortStringHelper is the default
public void SpaceCamelCasing(string input, string expected)
{
var output = input.SpaceCamelCasing(ShortStringHelper);
Assert.AreEqual(expected, output);
}
[TestCase("thisIsTheEnd", "This Is The End")]
[TestCase("th", "Th")]
[TestCase("t", "t")]
[TestCase("thisis", "Thisis")]
[TestCase("ThisIsTheEnd", "This Is The End")]
[TestCase("WhoIsNumber6InTheVillage", "Who Is Number6 In The Village")] // issue is fixed
public void CompatibleDefaultReplacement(string input, string expected)
{
var output = input.Length < 2 ? input : ShortStringHelper.SplitPascalCasing(input, ' ').ToFirstUpperInvariant();
Assert.AreEqual(expected, output);
}
}
}