private static void AssertTranslationExists(string culture, IEnumerable<string> ids, string category) { var options = new LocaleOptions { Locale = culture }; var service = new GlobalizedLocalizationService(options); var notFoundTranslations = new List<string>(); foreach (var id in ids) { var localizedString = service.GetString(category, id); if (string.IsNullOrEmpty(localizedString)) { var errormsg = string.Format("Could not find translation of Id '{0}' in {1}", id, string.IsNullOrEmpty(culture) ? "IdentityServers internals" : culture); notFoundTranslations.Add(errormsg); } else { string message = string.Format("{0} - {1}:{2} - {3}", culture, category, id, localizedString); Trace.WriteLine(message); Debug.WriteLine(message); Console.WriteLine(message); Assert.NotEqual("", localizedString.Trim()); } } if (notFoundTranslations.Any()) { var concated = notFoundTranslations.Aggregate((x, y) => x + ", " + y); throw new AssertActualExpectedException("Some translation", "NOTHING!", concated ); } }
public void UsesFallbackWhenIsSet() { const string someid = "SomeId"; var mock = new Fake<ILocalizationService>(); mock.CallsTo(loc => loc.GetString(IdSrvConstants.Messages, someid)).Returns("fallbackValue"); var service = new GlobalizedLocalizationService(new LocaleOptions{ Locale = "nb-NO", FallbackLocalizationService = mock.FakedObject}); var result = service.GetString(IdSrvConstants.Messages, someid); Assert.Equal("fallbackValue", result); }