public void GenerateSampleTreeModel_SingleResource_NoSplitInKey() { var resources = new List <LocalizationResource> { new LocalizationResource("ThisIsResourceKey") { Translations = new List <LocalizationResourceTranslation> { new LocalizationResourceTranslation // invariant { Language = "", Value = "Invariant" }, new LocalizationResourceTranslation { Language = "en", Value = "English" }, new LocalizationResourceTranslation { Language = "lv", Value = "Latvian" } } } }; var languages = new[] { new CultureInfo("en"), new CultureInfo("lv") }; var sut = new LocalizationResourceApiTreeModel(resources, languages, 100, 100, new UiOptions()); var result = sut.ConvertToApiModel(resources); var first = result.Single(); Assert.NotNull(first); Assert.Equal("ThisIsResourceKey", first[_segmentPropertyName]); }
public void GenerateSampleTreeModel_SingleResource_MissingTranslation() { var resources = new List <LocalizationResource> { new LocalizationResource("This.Is.Resource.Key") { Translations = new List <LocalizationResourceTranslation> { new LocalizationResourceTranslation // invariant { Language = "", Value = "Invariant" }, new LocalizationResourceTranslation { Language = "en", Value = "English" }, new LocalizationResourceTranslation { Language = "lv", Value = "Latvian" } } } }; var languages = new[] { new CultureInfo("en"), new CultureInfo("lv"), new CultureInfo("no") }; var sut = new LocalizationResourceApiTreeModel(resources, languages, 100, 100, new UiOptions()); var result = sut.ConvertToApiModel(resources); var first = result.Single(); Assert.NotNull(first); Assert.Equal("This", first[_segmentPropertyName]); Assert.Equal("Invariant", result[0]["_children"][0]["_children"][0]["_children"][0]["translation"]); Assert.Null(((JValue)result[0]["_children"][0]["_children"][0]["_children"][0]["translation-no"]).Value); }
public void GenerateSampleTreeModel_MultipleResources_SharedKeyRoots() { var resources = new List <LocalizationResource> { new LocalizationResource("This.Is.Resource.Key") { Translations = new List <LocalizationResourceTranslation> { new LocalizationResourceTranslation // invariant { Language = "", Value = "Invariant" }, new LocalizationResourceTranslation { Language = "en", Value = "English" }, new LocalizationResourceTranslation { Language = "lv", Value = "Latvian" } } }, new LocalizationResource("This.Is.Resource.AnotherKey") { Translations = new List <LocalizationResourceTranslation> { new LocalizationResourceTranslation // invariant { Language = "", Value = "Invariant 2" }, new LocalizationResourceTranslation { Language = "en", Value = "English 2" }, new LocalizationResourceTranslation { Language = "lv", Value = "Latvian 2" } } } }; var languages = new [] { new CultureInfo("en"), new CultureInfo("lv") }; var sut = new LocalizationResourceApiTreeModel(resources, languages, 100, 100); var result = sut.ConvertToApiModel(resources); var first = result.First(); Assert.NotNull(first); Assert.Equal("Invariant", result[0]["_children"][0]["_children"][0]["_children"][0]["translation"]); Assert.Equal("Invariant 2", result[0]["_children"][0]["_children"][0]["_children"][1]["translation"]); }
private LocalizationResourceApiTreeModel PrepareTreeViewModel() { var(resources, languages, isAdmin) = GetResources(); var result = new LocalizationResourceApiTreeModel(resources, languages, _config.MaxResourceKeyPopupTitleLength, _config.MaxResourceKeyDisplayLength) { Options = { AdminMode = isAdmin, ShowInvariantCulture = _config.ShowInvariantCulture, ShowHiddenResources = _config.ShowHiddenResources } }; return(result); }
private LocalizationResourceApiTreeModel PrepareTreeViewModel() { var(resources, languages, isAdmin) = GetResources(); var result = new LocalizationResourceApiTreeModel(resources, languages, _config.MaxResourceKeyPopupTitleLength, _config.MaxResourceKeyDisplayLength, BuildOptions(isAdmin)); return(result); }