Corrected slugs validation and added unit tests

This commit is contained in:
Sebastien Ros
2010-04-21 10:01:57 -07:00
parent 2647c1f8d4
commit 3604a52d74
3 changed files with 21 additions and 49 deletions

View File

@@ -52,6 +52,24 @@ namespace Orchard.Core.Tests.Common.Services {
Assert.That(thing.Slug, Is.EqualTo("please-do-not-use-any-of-the-following-characters-in-your-slugs-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\"-\""));
}
[Test]
public void EmptySlugsShouldBeConsideredValid() {
// so that automatic generation on Publish occurs
Assert.That(_routableService.IsSlugValid(null), Is.True);
Assert.That(_routableService.IsSlugValid(String.Empty), Is.True);
Assert.That(_routableService.IsSlugValid(" "), Is.True);
}
[Test]
public void InvalidCharacterShouldBeRefusedInSlugs() {
Assert.That(_routableService.IsSlugValid("aaaa-_aaaa"), Is.True);
foreach (var c in @"/:?#[]@!$&'()*+,;= ") {
Assert.That(_routableService.IsSlugValid("a" + c + "b"), Is.False);
}
}
[Test]
public void VeryLongStringTruncatedTo1000Chars() {
var contentManager = _container.Resolve<IContentManager>();