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 = '-') 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 result = new StringBuilder(value.Length);
var lastChar = (char)0; var lastChar = (char)0;
@ -586,24 +581,7 @@ namespace Squidex.Infrastructure
return string.Empty; return string.Empty;
} }
var sb = new StringBuilder(); return string.Join(separator, parts.Where(x => !string.IsNullOrWhiteSpace(x)));
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();
} }
} }
} }

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

@ -153,5 +153,37 @@ namespace Squidex.Infrastructure
Assert.Equal(output, result); 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