From e2cc4ef4ea195fbe6f3765b591b85b4ecf2e8b65 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Tue, 22 Jan 2013 19:57:51 -0800 Subject: [PATCH] Special characters removed from titles #ND-128 fixed Fixed: Remove special characters from titles when searching --- .../SearchTests/GetSearchTitleFixture.cs | 15 +++++++++++++++ NzbDrone.Core/Providers/Search/SearchBase.cs | 2 ++ 2 files changed, 17 insertions(+) diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/GetSearchTitleFixture.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/GetSearchTitleFixture.cs index 245d8357d..82f6d78a8 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/GetSearchTitleFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/GetSearchTitleFixture.cs @@ -56,5 +56,20 @@ namespace NzbDrone.Core.Test.ProviderTests.SearchTests Mocker.Resolve().GetSearchTitle(_series, 5) .Should().Be("Franklin and Bash"); } + + [TestCase("Betty White's Off Their Rockers", "Betty Whites Off Their Rockers")] + [TestCase("Star Wars: The Clone Wars", "Star Wars The Clone Wars")] + [TestCase("Hawaii Five-0", "Hawaii Five-0")] + public void should_replace_some_special_characters(string input, string expected) + { + _series.Title = input; + + Mocker.GetMock() + .Setup(s => s.GetSceneName(_series.SeriesId)) + .Returns(""); + + Mocker.Resolve().GetSearchTitle(_series, 5) + .Should().Be(expected); + } } } diff --git a/NzbDrone.Core/Providers/Search/SearchBase.cs b/NzbDrone.Core/Providers/Search/SearchBase.cs index e9694e8c8..c97988895 100644 --- a/NzbDrone.Core/Providers/Search/SearchBase.cs +++ b/NzbDrone.Core/Providers/Search/SearchBase.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.Text.RegularExpressions; using NLog; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; @@ -174,6 +175,7 @@ namespace NzbDrone.Core.Providers.Search { title = series.Title; title = title.Replace("&", "and"); + title = Regex.Replace(title, @"[^\w\d\s\-]", ""); } return title;