Browse Source

Fix join non empty.

pull/352/head
Sebastian Stehle 7 years ago
parent
commit
a60bd80966
  1. 24
      src/Squidex.Infrastructure/StringExtensions.cs
  2. 32
      tests/Squidex.Infrastructure.Tests/StringExtensionsTests.cs

24
src/Squidex.Infrastructure/StringExtensions.cs

@ -510,11 +510,6 @@ namespace Squidex.Infrastructure
public static string Slugify(this string value, ISet<char> preserveHash = null, bool singleCharDiactric = false, char separator = '-')
{
if (value == null)
{
return null;
}
var result = new StringBuilder(value.Length);
var lastChar = (char)0;
@ -586,24 +581,7 @@ namespace Squidex.Infrastructure
return string.Empty;
}
var sb = new StringBuilder();
for (var i = 0; i < parts.Length; i++)
{
var part = parts[i];
if (!string.IsNullOrWhiteSpace(part))
{
sb.Append(part);
if (i < parts.Length - 1)
{
sb.Append(separator);
}
}
}
return sb.ToString();
return string.Join(separator, parts.Where(x => !string.IsNullOrWhiteSpace(x)));
}
}
}

32
tests/Squidex.Infrastructure.Tests/StringExtensionsTests.cs

@ -153,5 +153,37 @@ namespace Squidex.Infrastructure
Assert.Equal(output, result);
}
[Fact]
public void Should_join_non_empty_when_all_are_valid()
{
var result = StringExtensions.JoinNonEmpty("_", "1", "2", "3");
Assert.Equal("1_2_3", result);
}
[Fact]
public void Should_join_non_empty_when_first_invalid()
{
var result = StringExtensions.JoinNonEmpty("_", null, "2", "3");
Assert.Equal("2_3", result);
}
[Fact]
public void Should_join_non_empty_when_middle_invalid()
{
var result = StringExtensions.JoinNonEmpty("_", "1", null, "3");
Assert.Equal("1_3", result);
}
[Fact]
public void Should_join_non_empty_when_last_invalid()
{
var result = StringExtensions.JoinNonEmpty("_", "1", "2", null);
Assert.Equal("1_2", result);
}
}
}

Loading…
Cancel
Save