diff --git a/src/NzbDrone.Core.Test/OrganizerTests/FileNameBuilderTests/FileNameBuilderFixture.cs b/src/NzbDrone.Core.Test/OrganizerTests/FileNameBuilderTests/FileNameBuilderFixture.cs index 550288f69..da3733002 100644 --- a/src/NzbDrone.Core.Test/OrganizerTests/FileNameBuilderTests/FileNameBuilderFixture.cs +++ b/src/NzbDrone.Core.Test/OrganizerTests/FileNameBuilderTests/FileNameBuilderFixture.cs @@ -562,6 +562,20 @@ public void use_path_when_sceneName_and_relative_path_are_null() .Should().Be(Path.GetFileNameWithoutExtension(_trackFile.Path)); } + [Test] + public void should_replace_illegal_characters_when_renaming_is_disabled() + { + _namingConfig.RenameTracks = false; + _namingConfig.ReplaceIllegalCharacters = true; + _namingConfig.ColonReplacementFormat = ColonReplacementFormat.Smart; + + _trackFile.SceneName = "Linkin.Park.06.FLAC:LOL"; + _trackFile.Path = "Linkin Park - 06 - Test"; + + Subject.BuildTrackFileName(new List { _track1 }, _artist, _album, _trackFile) + .Should().Be("Linkin.Park.06.FLAC-LOL"); + } + [Test] public void should_not_clean_track_title_if_there_is_only_one() { diff --git a/src/NzbDrone.Core/Organizer/FileNameBuilder.cs b/src/NzbDrone.Core/Organizer/FileNameBuilder.cs index a3342f5b3..5c52c9ceb 100644 --- a/src/NzbDrone.Core/Organizer/FileNameBuilder.cs +++ b/src/NzbDrone.Core/Organizer/FileNameBuilder.cs @@ -661,10 +661,10 @@ private string GetOriginalTitle(TrackFile trackFile) { if (trackFile.SceneName.IsNullOrWhiteSpace()) { - return GetOriginalFileName(trackFile); + return CleanFileName(GetOriginalFileName(trackFile)); } - return trackFile.SceneName; + return CleanFileName(trackFile.SceneName); } private string GetOriginalFileName(TrackFile trackFile)