U4-3710 - bugfix

This commit is contained in:
Stephan
2013-12-16 17:00:38 +01:00
parent 66dd0d073c
commit b506b5c8e9
2 changed files with 19 additions and 8 deletions

View File

@@ -571,7 +571,9 @@ function validateSafeAlias(id, value, immediate, callback) {{
for (var i = 0; i < ilen; i++)
{
var c = input[i];
var isTerm = config.IsTerm(c, opos == 0);
// leading as long as StateBreak and ipos still zero
var leading = state == StateBreak && ipos == 0;
var isTerm = config.IsTerm(c, leading);
//var isDigit = char.IsDigit(c);
var isUpper = char.IsUpper(c); // false for digits, symbols...
@@ -583,6 +585,12 @@ function validateSafeAlias(id, value, immediate, callback) {{
if (isPair)
throw new NotSupportedException("Surrogate pairs are not supported.");
Console.WriteLine("CHAR '{0}' {1} {2} - {3} - {4}/{5} {6}",
c,
isTerm ? "term" : "!term", isUpper ? "upper" : "!upper",
state,
i, ipos, leading ? "leading" : "!leading");
switch (state)
{
// within a break
@@ -689,10 +697,10 @@ function validateSafeAlias(id, value, immediate, callback) {{
CleanStringType caseType, CultureInfo culture, bool isAcronym)
{
var term = input.Substring(ipos, len);
//Console.WriteLine("TERM \"{0}\" {1} {2}",
// term,
// isAcronym ? "acronym" : "word",
// caseType);
Console.WriteLine("TERM \"{0}\" {1} {2}",
term,
isAcronym ? "acronym" : "word",
caseType);
if (isAcronym)
{

View File

@@ -129,7 +129,7 @@ namespace Umbraco.Tests.CoreStrings
StringType = CleanStringType.Utf8 | CleanStringType.Unchanged,
Separator = '*'
});
Assert.AreEqual("0123foo*bar*nil", helper.CleanString("0123foo_bar nil", CleanStringType.Alias));
Assert.AreEqual("0123foo*bar*543*nil*321", helper.CleanString("0123foo_bar 543 nil 321", CleanStringType.Alias));
helper = new DefaultShortStringHelper()
.WithConfig(CleanStringType.Alias, new DefaultShortStringHelper.Config
@@ -139,8 +139,11 @@ namespace Umbraco.Tests.CoreStrings
StringType = CleanStringType.Utf8 | CleanStringType.Unchanged,
Separator = '*'
});
Assert.AreEqual("foo*bar*nil", helper.CleanString("0123foo_bar nil", CleanStringType.Alias));
Assert.AreEqual("foo*bar*nil", helper.CleanString("0123 foo_bar nil", CleanStringType.Alias));
Assert.AreEqual("foo*bar*543*nil*321", helper.CleanString("0123foo_bar 543 nil 321", CleanStringType.Alias));
Assert.AreEqual("foo*bar*543*nil*321", helper.CleanString("0123 foo_bar 543 nil 321", CleanStringType.Alias));
helper = new DefaultShortStringHelper().WithDefaultConfig();
Assert.AreEqual("child2", helper.CleanStringForSafeAlias("1child2"));
}
[Test]