diff --git a/src/NzbDrone.Core.Test/OrganizerTests/FileNameBuilderTests/FileNameBuilderFixture.cs b/src/NzbDrone.Core.Test/OrganizerTests/FileNameBuilderTests/FileNameBuilderFixture.cs index 38209d995..69f916c9b 100644 --- a/src/NzbDrone.Core.Test/OrganizerTests/FileNameBuilderTests/FileNameBuilderFixture.cs +++ b/src/NzbDrone.Core.Test/OrganizerTests/FileNameBuilderTests/FileNameBuilderFixture.cs @@ -1,6 +1,8 @@ using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; +using System.Threading; using FizzWare.NBuilder; using FluentAssertions; using Moq; @@ -564,6 +566,24 @@ public void should_be_able_to_use_original_filename() .Should().Be("30 Rock - 30 Rock - S01E01 - Test"); } + [TestCase("en-US")] + [TestCase("fr-FR")] + [TestCase("az")] + [TestCase("tr-TR")] + public void should_replace_all_tokens_for_different_cultures(string culture) + { + Thread.CurrentThread.CurrentCulture = new CultureInfo(culture); + + _movie.TmdbId = 124578; + _movie.Year = 2020; + GivenMediaInfoModel(); + + _namingConfig.StandardMovieFormat = "{Movie CleanTitle} ({Release Year}) [{Quality Title}] [tmdb-{TmdbId}] [{MediaInfo AudioCodec}]"; + + Subject.BuildFileName(_movie, _movieFile) + .Should().Be("South Park (2020) [HDTV-720p] [tmdb-124578] [DTS]"); + } + [Test] public void should_be_able_to_use_original_filename_only() { diff --git a/src/NzbDrone.Core/Organizer/FileNameBuilder.cs b/src/NzbDrone.Core/Organizer/FileNameBuilder.cs index d5e4205f0..1990a1a4f 100644 --- a/src/NzbDrone.Core/Organizer/FileNameBuilder.cs +++ b/src/NzbDrone.Core/Organizer/FileNameBuilder.cs @@ -38,7 +38,7 @@ public class FileNameBuilder : IBuildFileNames private readonly Logger _logger; private static readonly Regex TitleRegex = new Regex(@"\{(?[- ._\[(]*)(?(?:[a-z0-9]+)(?:(?[- ._]+)(?:[a-z0-9]+))?)(?::(?[a-z0-9|]+))?(?[- ._)\]]*)\}", - RegexOptions.Compiled | RegexOptions.IgnoreCase); + RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); private static readonly Regex TagsRegex = new Regex(@"(?\{tags(?:\:0+)?})", RegexOptions.Compiled | RegexOptions.IgnoreCase);