diff --git a/src/Umbraco.Core/StringExtensions.cs b/src/Umbraco.Core/StringExtensions.cs index 87e2cb5fbc..259b55b228 100644 --- a/src/Umbraco.Core/StringExtensions.cs +++ b/src/Umbraco.Core/StringExtensions.cs @@ -204,22 +204,22 @@ namespace Umbraco.Core public static string EnsureStartsWith(this string input, char value) { - return input.StartsWith(value.ToString()) ? input : value + input; + return input.StartsWith(value.ToString(CultureInfo.InvariantCulture)) ? input : value + input; } public static string EnsureEndsWith(this string input, char value) { - return input.EndsWith(value.ToString()) ? input : input + value; + return input.EndsWith(value.ToString(CultureInfo.InvariantCulture)) ? input : input + value; } public static bool IsLowerCase(this char ch) { - return ch.ToString(CultureInfo.InvariantCulture) == ch.ToString(CultureInfo.InvariantCulture).ToLower(); + return ch.ToString(CultureInfo.InvariantCulture) == ch.ToString(CultureInfo.InvariantCulture).ToLowerInvariant(); } public static bool IsUpperCase(this char ch) { - return ch.ToString(CultureInfo.InvariantCulture) == ch.ToString(CultureInfo.InvariantCulture).ToUpper(); + return ch.ToString(CultureInfo.InvariantCulture) == ch.ToString(CultureInfo.InvariantCulture).ToUpperInvariant(); } /// Is null or white space. @@ -341,7 +341,7 @@ namespace Umbraco.Core Enumerable.Range(97, 26)); var sb = new StringBuilder(); - foreach (var c in value.Where(c => charReplacements.Values.Contains(c.ToString()) || validCodeRanges.Contains(c))) + foreach (var c in value.Where(c => charReplacements.Values.Contains(c.ToString(CultureInfo.InvariantCulture)) || validCodeRanges.Contains(c))) { sb.Append(c); } @@ -413,7 +413,7 @@ namespace Umbraco.Core { if (splittedPhraseChars.Length > 0) { - splittedPhraseChars[0] = ((new String(splittedPhraseChars[0], 1)).ToUpper().ToCharArray())[0]; + splittedPhraseChars[0] = ((new String(splittedPhraseChars[0], 1)).ToUpperInvariant().ToCharArray())[0]; } sb.Append(new String(splittedPhraseChars)); } @@ -428,15 +428,15 @@ namespace Umbraco.Core var match = pattern.Match(result); if (match.Success) { - result = match.Groups[1].Value.ToLower() + match.Groups[2].Value; + result = match.Groups[1].Value.ToLowerInvariant() + match.Groups[2].Value; - return result.Substring(0, 1).ToLower() + result.Substring(1); + return result.Substring(0, 1).ToLowerInvariant() + result.Substring(1); } return result; } - return result.ToLower(); + return result.ToLowerInvariant(); } return result; diff --git a/src/umbraco.cms/helpers/Casing.cs b/src/umbraco.cms/helpers/Casing.cs index 4b25deb96e..e44a29156c 100644 --- a/src/umbraco.cms/helpers/Casing.cs +++ b/src/umbraco.cms/helpers/Casing.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; +using System.Linq; using System.Text; namespace umbraco.cms.helpers @@ -22,15 +20,15 @@ namespace umbraco.cms.helpers /// An alias guaranteed not to contain illegal characters public static string SafeAlias(string alias) { - StringBuilder safeString = new StringBuilder(); - int aliasLength = alias.Length; - for (int i = 0; i < aliasLength;i++ ) + var safeString = new StringBuilder(); + var aliasLength = alias.Length; + for (var i = 0; i < aliasLength;i++ ) { - string currentChar = alias.Substring(i, 1); - if (VALID_ALIAS_CHARACTERS.Contains(currentChar.ToLower())) + var currentChar = alias.Substring(i, 1); + if (VALID_ALIAS_CHARACTERS.Contains(currentChar.ToLowerInvariant())) { // check for camel (if previous character is a space, we'll upper case the current one - if (safeString.Length == 0 && INVALID_FIRST_CHARACTERS.Contains(currentChar.ToLower())) + if (safeString.Length == 0 && INVALID_FIRST_CHARACTERS.Contains(currentChar.ToLowerInvariant())) { currentChar = ""; } @@ -38,10 +36,8 @@ namespace umbraco.cms.helpers { // first char should always be lowercase (camel style) // Skipping this check as it can cause incompatibility issues with 3rd party packages -// if (safeString.Length == 0) -// currentChar = currentChar.ToLower(); if (i < aliasLength - 1 && i > 0 && alias.Substring(i - 1, 1) == " ") - currentChar = currentChar.ToUpper(); + currentChar = currentChar.ToUpperInvariant(); safeString.Append(currentChar); } @@ -53,34 +49,24 @@ namespace umbraco.cms.helpers public static string SafeAliasWithForcingCheck(string alias) { - if (UmbracoSettings.ForceSafeAliases) - { - return SafeAlias(alias); - } - else - { - return alias; - } + return UmbracoSettings.ForceSafeAliases ? SafeAlias(alias) : alias; } public static string SpaceCamelCasing(string text) { - string s = text; + var s = text; if (2 > s.Length) - { return s; - } - - var sb = new System.Text.StringBuilder(); + var sb = new StringBuilder(); var ca = s.ToCharArray(); - ca[0] = char.ToUpper(ca[0]); + ca[0] = char.ToUpperInvariant(ca[0]); sb.Append(ca[0]); - for (int i = 1; i < ca.Length - 1; i++) + for (var i = 1; i < ca.Length - 1; i++) { - char c = ca[i]; + var c = ca[i]; if (char.IsUpper(c) && (char.IsLower(ca[i + 1]) || char.IsLower(ca[i - 1]))) { sb.Append(' '); @@ -89,7 +75,6 @@ namespace umbraco.cms.helpers } sb.Append(ca[ca.Length - 1]); return sb.ToString(); - } } }