public void ViewLocalizer_LooksForCorrectResourceBaseNameLocation(string appName, string viewPath, string executingPath, string expectedBaseName) { // Arrange var hostingEnvironment = new Mock <IHostingEnvironment>(); hostingEnvironment.Setup(a => a.ApplicationName).Returns(appName); var htmlLocalizerFactory = new Mock <IHtmlLocalizerFactory>(MockBehavior.Loose); var view = new Mock <IView>(); view.Setup(v => v.Path).Returns(viewPath); var viewContext = new ViewContext(); viewContext.ExecutingFilePath = executingPath; viewContext.View = view.Object; var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, hostingEnvironment.Object); // Act viewLocalizer.Contextualize(viewContext); // Assert htmlLocalizerFactory.Verify(h => h.Create( It.Is <string>(baseName => baseName == expectedBaseName), It.Is <string>(location => location == appName) )); }
public void ViewLocalizer_UseIndexerWithArguments_ReturnsLocalizedHtmlString() { // Arrange var hostingEnvironment = new Mock <IHostingEnvironment>(); hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var localizedString = new LocalizedHtmlString("Hello", "Bonjour test"); var htmlLocalizer = new Mock <IHtmlLocalizer>(); htmlLocalizer.Setup(h => h["Hello", "test"]).Returns(localizedString); var htmlLocalizerFactory = new Mock <IHtmlLocalizerFactory>(); htmlLocalizerFactory.Setup( h => h.Create("TestApplication.example", "TestApplication")).Returns(htmlLocalizer.Object); var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, hostingEnvironment.Object); var view = new Mock <IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var actualLocalizedString = viewLocalizer["Hello", "test"]; // Assert Assert.Equal(localizedString, actualLocalizedString); }
public void ViewLocalizer_HtmlWithArguments_ReturnsLocalizedHtmlString() { // Arrange var stringLocalizer = new TestStringLocalizer(); var htmlLocalizer = new HtmlLocalizer(stringLocalizer); var hostingEnvironment = new Mock <IHostingEnvironment>(); hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object); var view = new Mock <IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var actualLocalizedString = viewLocalizer.GetHtml("John", "Doe"); // Assert Assert.Equal("Hello John Doe", actualLocalizedString.Value); }
public void ViewLocalizer_WithCulture_ReturnsLocalizedHtmlString() { // Arrange var stringLocalizer = new TestStringLocalizer(); var htmlLocalizer = new HtmlLocalizer(stringLocalizer); var hostingEnvironment = new Mock <IHostingEnvironment>(); hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object); var view = new Mock <IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var actualLocalizedString = viewLocalizer.WithCulture(new CultureInfo("fr"))["John"]; // Assert Assert.Equal("Bonjour John", actualLocalizedString.Value); }
public void ViewLocalizer_UseIndexerWithArguments_ReturnsLocalizedString() { // Arrange var applicationEnvironment = new Mock<IApplicationEnvironment>(); applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var localizedString = new LocalizedString("Hello", "Bonjour test"); var htmlLocalizer = new Mock<IHtmlLocalizer>(); htmlLocalizer.Setup(h => h["Hello", "test"]).Returns(localizedString); var htmlLocalizerFactory = new Mock<IHtmlLocalizerFactory>(); htmlLocalizerFactory.Setup( h => h.Create("TestApplication.example", "TestApplication")).Returns(htmlLocalizer.Object); var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, applicationEnvironment.Object); var view = new Mock<IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var actualLocalizedString = viewLocalizer["Hello", "test"]; // Assert Assert.Equal(localizedString, actualLocalizedString); }
public void ViewLocalizer_GetAllStringsIncludeParentCulture_ReturnsLocalizedString() { // Arrange var stringLocalizer = new TestStringLocalizer(); var htmlLocalizer = new HtmlLocalizer(stringLocalizer); var hostingEnvironment = new Mock <IHostingEnvironment>(); hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object); var view = new Mock <IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var allLocalizedStrings = viewLocalizer.GetAllStrings(includeParentCultures: true).ToList(); // Assert Assert.Equal(2, allLocalizedStrings.Count); Assert.Equal("World", allLocalizedStrings[0].Value); Assert.Equal("Bar", allLocalizedStrings[1].Value); }
/// <summary> /// GetText inspired localization /// </summary> /// <param name="text"></param> /// <param name="formatterArguments">optional arguments if the string contains {} formatters</param> /// <returns></returns> public MvcHtmlString T(string text, params object[] formatterArguments) { var translated = ViewLocalizer.Translate(VirtualPath, ViewContext.RouteData, text); return (MvcHtmlString.Create(formatterArguments.Length == 0 ? translated : string.Format(translated, formatterArguments))); }
public void ViewLocalizer_LooksForCorrectResourceBaseNameLocation(string appName, string viewPath, string executingPath, string expectedBaseName) { // Arrange var applicationEnvironment = new Mock<IApplicationEnvironment>(); applicationEnvironment.Setup(a => a.ApplicationName).Returns(appName); var htmlLocalizerFactory = new Mock<IHtmlLocalizerFactory>(MockBehavior.Loose); var view = new Mock<IView>(); view.Setup(v => v.Path).Returns(viewPath); var viewContext = new ViewContext(); viewContext.ExecutingFilePath = executingPath; viewContext.View = view.Object; var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, applicationEnvironment.Object); // Act viewLocalizer.Contextualize(viewContext); // Assert htmlLocalizerFactory.Verify(h => h.Create( It.Is<string>(baseName => baseName == expectedBaseName), It.Is<string>(location => location == appName) )); }
public void ViewLocalizer_WithCulture_ReturnsLocalizedHtmlString() { // Arrange var stringLocalizer = new TestStringLocalizer(); var htmlLocalizer = new HtmlLocalizer(stringLocalizer); var applicationEnvironment = new Mock<IApplicationEnvironment>(); applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object); var view = new Mock<IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var actualLocalizedString = viewLocalizer.WithCulture(new CultureInfo("fr"))["John"]; // Assert Assert.Equal("Bonjour John", actualLocalizedString.Value); }
public void ViewLocalizer_HtmlWithArguments_ReturnsLocalizedHtmlString() { // Arrange var stringLocalizer = new TestStringLocalizer(); var htmlLocalizer = new HtmlLocalizer(stringLocalizer); var applicationEnvironment = new Mock<IApplicationEnvironment>(); applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object); var view = new Mock<IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var actualLocalizedString = viewLocalizer.GetHtml("John", "Doe"); // Assert Assert.Equal("Hello John Doe", actualLocalizedString.Value); }
public void ViewLocalizer_GetAllStringsIncludeParentCulture_ReturnsLocalizedString() { // Arrange var stringLocalizer = new TestStringLocalizer(); var htmlLocalizer = new HtmlLocalizer(stringLocalizer); var applicationEnvironment = new Mock<IApplicationEnvironment>(); applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication"); var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object); var view = new Mock<IView>(); view.Setup(v => v.Path).Returns("example"); var viewContext = new ViewContext(); viewContext.View = view.Object; viewLocalizer.Contextualize(viewContext); // Act var allLocalizedStrings = viewLocalizer.GetAllStrings(includeParentCultures: true).ToList(); // Assert Assert.Equal(2, allLocalizedStrings.Count); Assert.Equal("World", allLocalizedStrings[0].Value); Assert.Equal("Bar", allLocalizedStrings[1].Value); }