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.
82 lines
2.5 KiB
82 lines
2.5 KiB
using System;
|
|
using FluentAssertions;
|
|
using NUnit.Framework;
|
|
using NzbDrone.Common.EnvironmentInfo;
|
|
using NzbDrone.Core.Configuration;
|
|
using NzbDrone.Core.Languages;
|
|
using NzbDrone.Core.Localization;
|
|
using NzbDrone.Core.Test.Framework;
|
|
using NzbDrone.Test.Common;
|
|
|
|
namespace NzbDrone.Core.Test.Localization
|
|
{
|
|
[TestFixture]
|
|
public class LocalizationServiceFixture : CoreTest<LocalizationService>
|
|
{
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
Mocker.GetMock<IConfigService>().Setup(m => m.UILanguage).Returns((int)Language.English);
|
|
|
|
Mocker.GetMock<IAppFolderInfo>().Setup(m => m.StartUpFolder).Returns(TestContext.CurrentContext.TestDirectory);
|
|
}
|
|
|
|
[Test]
|
|
public void should_get_string_in_dictionary_if_lang_exists_and_string_exists()
|
|
{
|
|
var localizedString = Subject.GetLocalizedString("UiLanguage");
|
|
|
|
localizedString.Should().Be("UI Language");
|
|
}
|
|
|
|
[Test]
|
|
public void should_get_string_in_french()
|
|
{
|
|
Mocker.GetMock<IConfigService>().Setup(m => m.UILanguage).Returns((int)Language.French);
|
|
|
|
var localizedString = Subject.GetLocalizedString("UiLanguage");
|
|
|
|
localizedString.Should().Be("Langue de l'IU");
|
|
|
|
ExceptionVerification.ExpectedErrors(1);
|
|
}
|
|
|
|
[Test]
|
|
public void should_get_string_in_default_dictionary_if_unknown_language_and_string_exists()
|
|
{
|
|
Mocker.GetMock<IConfigService>().Setup(m => m.UILanguage).Returns(0);
|
|
var localizedString = Subject.GetLocalizedString("UiLanguage");
|
|
|
|
localizedString.Should().Be("UI Language");
|
|
}
|
|
|
|
[Test]
|
|
public void should_return_argument_if_string_doesnt_exists()
|
|
{
|
|
var localizedString = Subject.GetLocalizedString("badString");
|
|
|
|
localizedString.Should().Be("badString");
|
|
}
|
|
|
|
[Test]
|
|
public void should_return_argument_if_string_doesnt_exists_default_lang()
|
|
{
|
|
var localizedString = Subject.GetLocalizedString("badString");
|
|
|
|
localizedString.Should().Be("badString");
|
|
}
|
|
|
|
[Test]
|
|
public void should_throw_if_empty_string_passed()
|
|
{
|
|
Assert.Throws<ArgumentNullException>(() => Subject.GetLocalizedString(""));
|
|
}
|
|
|
|
[Test]
|
|
public void should_throw_if_null_string_passed()
|
|
{
|
|
Assert.Throws<ArgumentNullException>(() => Subject.GetLocalizedString(null));
|
|
}
|
|
}
|
|
}
|