Browse Source

Allow multiple level URLs in SlugNormalizer

pull/17642/head
Enis Necipoglu 3 years ago
parent
commit
83fb1ebc11
No known key found for this signature in database GPG Key ID: 1EC55E13241E1680
  1. 9
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/SlugNormalizer.cs
  2. 14
      modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/SlugExtensions_Tests.cs

9
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/SlugNormalizer.cs

@ -5,7 +5,14 @@ namespace Volo.CmsKit;
public static class SlugNormalizer
{
static readonly SlugHelper SlugHelper = new();
static readonly SlugHelper SlugHelper = new(new SlugHelperConfiguration
{
AllowedChars =
{
'/'
}
});
public static string Normalize(string value)
{
return SlugHelper.GenerateSlug(value?.Unidecode());

14
modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/SlugExtensions_Tests.cs

@ -129,4 +129,18 @@ public class SlugExtensions_Tests
// Assert
actual.ShouldBe(expected);
}
[Fact]
public void NormalizeSlug_ShouldWorkProperly_WithMultipleLevel()
{
// Arrange
var name = "path/to/my/page";
var expected = "path/to/my/page";
// Act
var actual = SlugNormalizer.Normalize(name);
// Assert
actual.ShouldBe(expected);
}
}

Loading…
Cancel
Save