public void Init_CreatesHtmlLocalizerFromViewContext(string appName, string viewPath, string executionPath, string expectedBaseName) { var hostingEnvironment = new Mock <IHostingEnvironment>(); hostingEnvironment.Setup(a => a.ApplicationName).Returns(appName); var factoryMock = TestHelper.CreateFactoryMock(true); var view = new Mock <IView>(); view.Setup(v => v.Path).Returns(viewPath); var viewContext = new ViewContext(); viewContext.ExecutingFilePath = executionPath; viewContext.View = view.Object; var tagHelper = new GenericLocalizeTagHelper(factoryMock.Object, hostingEnvironment.Object, null); tagHelper.ViewContext = viewContext; var context = TestHelper.CreateTagContext(); tagHelper.Init(context); factoryMock.Verify(x => x.Create(expectedBaseName, appName), Times.Once()); }
public async Task ProcessAsync_DoesNotHtmlEncodeWhenGloballyDisabled() { const string expected = "<a href=\"https://google.com\">Hello</a>"; var localizer = TestHelper.CreateLocalizerMock(false); SetupLocalizer(localizer, expected, expected, true); var factory = TestHelper.CreateFactoryMock(localizer.Object); var hostingEnvMock = new Mock <IHostingEnvironment>(); hostingEnvMock.SetupGet(x => x.ApplicationName).Returns(TestHelper.ApplicationName); var options = Options.Create(new LocalizeTagHelperOptions { HtmlEncodeByDefault = false, NewLineHandling = NewLineHandling.None, TrimWhitespace = false }); var helper = new GenericLocalizeTagHelper(factory.Object, hostingEnvMock.Object, options) { ViewContext = TestHelper.DefaultViewContext }; var result = await TestHelper.GenerateHtmlAsync(helper, "p", expected); localizer.Verify(x => x[expected], Times.Once()); Assert.Equal("<p>" + expected + "</p>", result); }