From 09aec8fac9ee2c15e6c29ad511edff095c136362 Mon Sep 17 00:00:00 2001 From: Nicholas Mayne Date: Fri, 7 Jun 2013 23:29:15 +0100 Subject: [PATCH] #19362: Adding Dot to Regex and tests around story. Work Item: 19362 --HG-- branch : 1.x --- .../Autoroute/DefaultSlugServiceTests.cs | 21 +++++++++++++++++++ .../Services/DefaultSlugService.cs | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/Orchard.Tests.Modules/Autoroute/DefaultSlugServiceTests.cs b/src/Orchard.Tests.Modules/Autoroute/DefaultSlugServiceTests.cs index 3cb7bea3d..7bb04817b 100644 --- a/src/Orchard.Tests.Modules/Autoroute/DefaultSlugServiceTests.cs +++ b/src/Orchard.Tests.Modules/Autoroute/DefaultSlugServiceTests.cs @@ -29,5 +29,26 @@ namespace Orchard.Tests.Modules.Autoroute { Assert.That(slugService.Slugify("a - b - c -- d"), Is.EqualTo("a-b-c-d")); } + + [Test] + public void ShouldChangePercentSymbolsToHyphans() { + DefaultSlugService slugService = new DefaultSlugService(new Mock().Object); + + Assert.That(slugService.Slugify("a%d"), Is.EqualTo("a-d")); + } + + [Test] + public void ShouldChangeDotSymbolsToHyphans() { + DefaultSlugService slugService = new DefaultSlugService(new Mock().Object); + + Assert.That(slugService.Slugify("a,d"), Is.EqualTo("a-d")); + } + + [Test] + public void ShouldMakeSureFunkycharactersAndHyphansOnlyReturnSingleHyphan() { + DefaultSlugService slugService = new DefaultSlugService(new Mock().Object); + + Assert.That(slugService.Slugify("a-%-.d"), Is.EqualTo("a-d")); + } } } diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Services/DefaultSlugService.cs b/src/Orchard.Web/Modules/Orchard.Autoroute/Services/DefaultSlugService.cs index cbebc68c4..f90f1dad8 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Services/DefaultSlugService.cs +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Services/DefaultSlugService.cs @@ -26,7 +26,7 @@ namespace Orchard.Autoroute.Services { if (!slugContext.Adjusted) { - var disallowed = new Regex(@"[/:?#\[\]@!$&'()*+,;=\s\""\<\>\\\|%]+"); + var disallowed = new Regex(@"[/:?#\[\]@!$&'()*+,.;=\s\""\<\>\\\|%]+"); var cleanedSlug = disallowed.Replace(slugContext.Title, "-").Trim('-','.');