Release 0.2.5: harden proxy and streamline metadata fetching
Remove obsolete rule formats, batch SQLite work, preserve artwork source URLs, and coordinate refresh workers with maintenance. Add regression coverage and document backup format changes.
This commit is contained in:
@@ -6,6 +6,24 @@ namespace Jellyfin.Plugin.Multilang.Tests;
|
||||
|
||||
public sealed class CategoryRuleEvaluatorTests
|
||||
{
|
||||
[Fact]
|
||||
public void FastMatchingAndDiagnosticTraceAgreeAcrossAllRuleModes()
|
||||
{
|
||||
foreach (var relation in new[] { "is", "is_not", "contains", "not_contains" })
|
||||
foreach (var fieldOr in new[] { false, true })
|
||||
foreach (var valueOr in new[] { false, true })
|
||||
foreach (var matchAll in new[] { false, true })
|
||||
foreach (var facts in new[] { Facts(originalLanguage: "sv"), Facts(spokenLanguages: ["fi", "en"]), Facts(kind: "tv") })
|
||||
{
|
||||
var rule = Rule("original_language", relation, valueOr, "sv", "fi");
|
||||
rule.Requirements[0].Fields = ["original_language", "spoken_languages"];
|
||||
rule.Requirements[0].UseFieldOr = fieldOr;
|
||||
rule.Requirements = [rule.Requirements[0], Requirement("production_countries", "contains", false, "FI")];
|
||||
rule.MatchAllConditions = matchAll;
|
||||
Assert.Equal(CategoryRuleEvaluator.Trace(rule, facts).Result, CategoryRuleEvaluator.Matches(rule, facts));
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void IsWithAndListRequiresExactSet()
|
||||
{
|
||||
@@ -95,11 +113,9 @@ public sealed class CategoryRuleEvaluatorTests
|
||||
{
|
||||
Id = rule.Id,
|
||||
Label = rule.Label,
|
||||
CriteriaText = rule.CriteriaText,
|
||||
Requirements = rule.Requirements,
|
||||
MatchAllConditions = matchAll,
|
||||
Scopes = rule.Scopes,
|
||||
FieldActions = rule.FieldActions,
|
||||
FieldActionLists = rule.FieldActionLists
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user