Skip to content

Commit 83c94d2

Browse files
committed
ModelBindingExtensions - ConvertNameToCamelCase incorrectly treated AString as uppercase
Check all chars as being uppercase TODO: We need some sort of caching to offset the cost of this
1 parent 8150716 commit 83c94d2

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

CefSharp.Extensions/ModelBinding/ModelBindingExtensions.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -456,14 +456,19 @@ private static string ConvertNameToCamelCase(this string sourceString)
456456

457457
// camelCase says that if the string is only one character that it is preserved.
458458
if (sourceString.Length == 1)
459+
{
459460
return sourceString;
460-
461-
var firstHalf = sourceString.Substring(0, 1);
462-
var remainingHalf = sourceString.Substring(1);
461+
}
463462

464463
// camelCase says that if the entire string is uppercase to preserve it.
465-
if (char.IsUpper(firstHalf[0]) && char.IsUpper(remainingHalf[0]))
464+
//TODO: We need to cache these values to avoid the cost of validating this
465+
if (sourceString.All(char.IsUpper))
466+
{
466467
return sourceString;
468+
}
469+
470+
var firstHalf = sourceString.Substring(0, 1);
471+
var remainingHalf = sourceString.Substring(1);
467472

468473
return firstHalf.ToLowerInvariant() + remainingHalf;
469474
}

0 commit comments

Comments
 (0)