Headless CMS and Content Managment Hub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

88 lines
2.7 KiB

// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using System.Globalization;
namespace Squidex.Infrastructure.Translations;
public class TTests
{
private readonly ILocalizer sut;
public TTests()
{
sut = new ResourcesLocalizer(SampleResources.ResourceManager);
}
[Fact]
public void Should_return_key_if_not_found()
{
var actual = sut.Get(CultureInfo.CurrentUICulture, "key", "fallback");
Assert.Equal(("fallback", false), actual);
}
[Fact]
public void Should_return_simple_key()
{
var actual = sut.Get(CultureInfo.CurrentUICulture, "simple", "fallback");
Assert.Equal(("Simple Result", true), actual);
}
[Fact]
public void Should_return_text_with_variable()
{
var actual = sut.Get(CultureInfo.CurrentUICulture, "withVar", "fallback", new { var = 5 });
Assert.Equal(("Var: 5.", true), actual);
}
[Fact]
public void Should_return_text_with_lower_variable()
{
var actual = sut.Get(CultureInfo.CurrentUICulture, "withLowerVar", "fallback", new { var = "Lower" });
Assert.Equal(("Var: lower.", true), actual);
}
[Fact]
public void Should_return_text_with_upper_variable()
{
var actual = sut.Get(CultureInfo.CurrentUICulture, "withUpperVar", "fallback", new { var = "upper" });
Assert.Equal(("Var: Upper.", true), actual);
}
[Fact]
public void Should_return_variable_name_when_property_does_not_exist()
{
var actual = sut.Get(CultureInfo.CurrentUICulture, "withVar", "fallback", new { other = 5 });
Assert.Equal(("Var: var.", true), actual);
}
[Fact]
public void Should_return_same_text_when_called_again()
{
var actual1 = sut.Get(CultureInfo.CurrentUICulture, "withVar", "fallback", new { var = 5 });
var actual2 = sut.Get(CultureInfo.CurrentUICulture, "withVar", "fallback", new { var = 8 });
Assert.Equal(("Var: 5.", true), actual1);
Assert.Equal(("Var: 8.", true), actual2);
}
[Fact]
public void Should_not_reuse_property_of_other_type()
{
var actual1 = sut.Get(CultureInfo.CurrentUICulture, "withVar", "fallback", new { var = 5 });
var actual2 = sut.Get(CultureInfo.CurrentUICulture, "withVar", "fallback", new { var = "text" });
Assert.Equal(("Var: 5.", true), actual1);
Assert.Equal(("Var: text.", true), actual2);
}
}