Rework parental ratings (#12615)
This commit is contained in:
@@ -88,7 +88,7 @@ namespace Jellyfin.Server.Implementations.Tests.Localization
|
||||
|
||||
var tvma = ratings.FirstOrDefault(x => x.Name.Equals("TV-MA", StringComparison.Ordinal));
|
||||
Assert.NotNull(tvma);
|
||||
Assert.Equal(17, tvma!.Value);
|
||||
Assert.Equal(17, tvma!.RatingScore!.Score);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -105,47 +105,49 @@ namespace Jellyfin.Server.Implementations.Tests.Localization
|
||||
|
||||
var fsk = ratings.FirstOrDefault(x => x.Name.Equals("FSK-12", StringComparison.Ordinal));
|
||||
Assert.NotNull(fsk);
|
||||
Assert.Equal(12, fsk!.Value);
|
||||
Assert.Equal(12, fsk!.RatingScore!.Score);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("CA-R", "CA", 18)]
|
||||
[InlineData("FSK-16", "DE", 16)]
|
||||
[InlineData("FSK-18", "DE", 18)]
|
||||
[InlineData("FSK-18", "US", 18)]
|
||||
[InlineData("TV-MA", "US", 17)]
|
||||
[InlineData("XXX", "asdf", 1000)]
|
||||
[InlineData("Germany: FSK-18", "DE", 18)]
|
||||
[InlineData("Rated : R", "US", 17)]
|
||||
[InlineData("Rated: R", "US", 17)]
|
||||
[InlineData("Rated R", "US", 17)]
|
||||
[InlineData(" PG-13 ", "US", 13)]
|
||||
public async Task GetRatingLevel_GivenValidString_Success(string value, string countryCode, int expectedLevel)
|
||||
[InlineData("CA-R", "CA", 18, 1)]
|
||||
[InlineData("FSK-16", "DE", 16, null)]
|
||||
[InlineData("FSK-18", "DE", 18, null)]
|
||||
[InlineData("FSK-18", "US", 18, null)]
|
||||
[InlineData("TV-MA", "US", 17, 1)]
|
||||
[InlineData("XXX", "asdf", 1000, null)]
|
||||
[InlineData("Germany: FSK-18", "DE", 18, null)]
|
||||
[InlineData("Rated : R", "US", 17, 0)]
|
||||
[InlineData("Rated: R", "US", 17, 0)]
|
||||
[InlineData("Rated R", "US", 17, 0)]
|
||||
[InlineData(" PG-13 ", "US", 13, 0)]
|
||||
public async Task GetRatingLevel_GivenValidString_Success(string value, string countryCode, int? expectedScore, int? expectedSubScore)
|
||||
{
|
||||
var localizationManager = Setup(new ServerConfiguration()
|
||||
{
|
||||
MetadataCountryCode = countryCode
|
||||
});
|
||||
await localizationManager.LoadAll();
|
||||
var level = localizationManager.GetRatingLevel(value);
|
||||
Assert.NotNull(level);
|
||||
Assert.Equal(expectedLevel, level!);
|
||||
var score = localizationManager.GetRatingScore(value);
|
||||
Assert.NotNull(score);
|
||||
Assert.Equal(expectedScore, score.Score);
|
||||
Assert.Equal(expectedSubScore, score.SubScore);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("0", 0)]
|
||||
[InlineData("1", 1)]
|
||||
[InlineData("6", 6)]
|
||||
[InlineData("12", 12)]
|
||||
[InlineData("42", 42)]
|
||||
[InlineData("9999", 9999)]
|
||||
public async Task GetRatingLevel_GivenValidAge_Success(string value, int expectedLevel)
|
||||
[InlineData("0", 0, null)]
|
||||
[InlineData("1", 1, null)]
|
||||
[InlineData("6", 6, null)]
|
||||
[InlineData("12", 12, null)]
|
||||
[InlineData("42", 42, null)]
|
||||
[InlineData("9999", 9999, null)]
|
||||
public async Task GetRatingLevel_GivenValidAge_Success(string value, int? expectedScore, int? expectedSubScore)
|
||||
{
|
||||
var localizationManager = Setup(new ServerConfiguration { MetadataCountryCode = "nl" });
|
||||
await localizationManager.LoadAll();
|
||||
var level = localizationManager.GetRatingLevel(value);
|
||||
Assert.NotNull(level);
|
||||
Assert.Equal(expectedLevel, level);
|
||||
var score = localizationManager.GetRatingScore(value);
|
||||
Assert.NotNull(score);
|
||||
Assert.Equal(expectedScore, score.Score);
|
||||
Assert.Equal(expectedSubScore, score.SubScore);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -156,10 +158,10 @@ namespace Jellyfin.Server.Implementations.Tests.Localization
|
||||
UICulture = "de-DE"
|
||||
});
|
||||
await localizationManager.LoadAll();
|
||||
Assert.Null(localizationManager.GetRatingLevel("NR"));
|
||||
Assert.Null(localizationManager.GetRatingLevel("unrated"));
|
||||
Assert.Null(localizationManager.GetRatingLevel("Not Rated"));
|
||||
Assert.Null(localizationManager.GetRatingLevel("n/a"));
|
||||
Assert.Null(localizationManager.GetRatingScore("NR"));
|
||||
Assert.Null(localizationManager.GetRatingScore("unrated"));
|
||||
Assert.Null(localizationManager.GetRatingScore("Not Rated"));
|
||||
Assert.Null(localizationManager.GetRatingScore("n/a"));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
@@ -173,7 +175,7 @@ namespace Jellyfin.Server.Implementations.Tests.Localization
|
||||
});
|
||||
await localizationManager.LoadAll();
|
||||
|
||||
Assert.Null(localizationManager.GetRatingLevel(value));
|
||||
Assert.Null(localizationManager.GetRatingScore(value));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
|
||||
Reference in New Issue
Block a user