public void AssertThrowsDuplicateLocalization() { var builder = new LocalizationBuilder() .UseJsonFiles("locales"); Assert.Throws <LocalizerException>(() => builder.UseJsonFiles("locales")); }
public void AssertOverloadThrowsWhenNoDefaultLocaleSet() { var localization = new LocalizationBuilder() .UseJsonFiles("locales") .Build(); Assert.Throws <InvalidOperationException>(() => localization.Resolve("hello")); }
public void AssertThrowsScriptWhenDisabled() { var localization = new LocalizationBuilder() .UseJsonFiles("locales") .WithScriptOptions(null) .Build(); Assert.Throws <InvalidOperationException>(() => localization.Resolve("en-US", "context-tests.test3")); }
public void AssertDefaultLocaleOverload() { var localization = new LocalizationBuilder() .WithDefaultLocale("en-US") .UseJsonFiles("locales") .Build(); Assert.AreEqual("world", localization.Resolve("hello")); }
public void AssertCanLoadJsonLocalisations() { var builder = new LocalizationBuilder(); builder.UseJsonFiles("locales"); var localization = builder.Build(); Assert.AreEqual("world", localization.Resolve("en-US", "hello")); Assert.AreEqual("told me", localization.Resolve("en-US", "somebody.once")); }
public void AssertExecuteStatementReplacement() { var localization = new LocalizationBuilder() .UseJsonFiles("locales") .Build(); var test2 = localization.Resolve("en-US", "context-tests.test3", ("isDrill", true), ("drill", "drill")); Assert.AreEqual("This is not a drill!", test2); }
public void AssertExecuteMultipleReplacement() { var localization = new LocalizationBuilder() .UseJsonFiles("locales") .Build(); var test2 = localization.Resolve("en-US", "context-tests.test2", ("drill", "test"), ("drill2", "test2")); Assert.AreEqual("This is not a test test2", test2); }
public void AssertLocalizationCanBeInjectedStatic() { var localization = new LocalizationBuilder() .UseJsonFiles("locales") .Build(); Localizer.Inject(localization, Assembly.GetAssembly(typeof(LocalizableClass))); Assert.AreEqual("world", LocalizableClass.WorldString.Localize("en-US")); Assert.AreEqual("told me", LocalizableClass.SomebodyOnceString.Localize("en-US")); }
public void AssertLocalizationCanBeInjectedInstance() { var localization = new LocalizationBuilder() .UseJsonFiles("locales") .Build(); var instance = new LocalizableInstanceClass(); Localizer.Inject(instance, localization); Assert.AreEqual("world", instance.WorldString.Localize("en-US")); }
public JsonLocaleLoader(LocalizationBuilder builder, string path) { _path = path; _pathSeparator = builder.PathSeparator; _supportedLocales = new HashSet <string>(); _localeCache = new Dictionary <string, Locale>(); foreach (var file in Directory.EnumerateFiles(_path, "*.json")) { _supportedLocales.Add(Path.GetFileNameWithoutExtension(file)); } }
public void AssertIgnoresNonJsonFiles() { var builder = new LocalizationBuilder(); builder.UseJsonFiles("locales-nonjson"); }
public void AssertThrowsInvalidDirectory() { var builder = new LocalizationBuilder(); Assert.Throws <DirectoryNotFoundException>(() => builder.UseJsonFiles("xyz")); }