Extract truncation logic to helper and add tests

This commit is contained in:
854562
2026-07-20 22:00:10 +02:00
committed by GitHub
parent c632417dda
commit 2cd2f36fe4
5 changed files with 63 additions and 11 deletions
@@ -119,6 +119,40 @@ namespace Jellyfin.Server.Implementations.Tests.Localization
Assert.Equal(code, culture.ThreeLetterISOLanguageName);
}
[Theory]
[InlineData("ell", "Greek")] // Comma truncation
[InlineData("nld", "Dutch")] // Semicolon truncation
[InlineData("ron", "Romanian")] // Semicolon truncation, multiple
[InlineData("eng", "English")] // No truncation
[InlineData("zh-CN", "Chinese (Simplified)")] // No truncation, with parentheses
public async Task GetLanguageDisplayName_DelimitedName_ReturnsTruncatedName(string language, string expected)
{
var localizationManager = Setup(new ServerConfiguration
{
UICulture = "en-US"
});
await localizationManager.LoadAll();
var result = localizationManager.GetLanguageDisplayName(language);
Assert.Equal(expected, result);
}
[Theory]
[InlineData(null)]
[InlineData("")]
[InlineData("xyz")]
public async Task GetLanguageDisplayName_InvalidInput_ReturnsNull(string? language)
{
var localizationManager = Setup(new ServerConfiguration
{
UICulture = "en-US"
});
await localizationManager.LoadAll();
var result = localizationManager.GetLanguageDisplayName(language!);
Assert.Null(result);
}
[Fact]
public async Task GetParentalRatings_Default_Success()
{