public void DoesNotRunWhenARequiredAttributeIsMissing( TagHelperAttributeList attributes, Action <ScriptTagHelper> setProperties) { // Arrange var tagHelperContext = MakeTagHelperContext(attributes); var output = MakeTagHelperOutput("script"); var logger = new Mock <ILogger <ScriptTagHelper> >(); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var helper = new ScriptTagHelper( CreateLogger(), hostingEnvironment, MakeCache(), new CommonTestEncoder(), new CommonTestEncoder(), MakeUrlHelper()) { ViewContext = viewContext, }; setProperties(helper); // Act helper.Process(tagHelperContext, output); // Assert Assert.NotNull(output.TagName); Assert.False(output.IsContentModified); Assert.Empty(output.Attributes); Assert.True(output.PostElement.IsEmpty); }
public void DoesNotRunWhenARequiredAttributeIsMissing( IDictionary <string, object> attributes, Action <ScriptTagHelper> setProperties) { // Arrange var tagHelperContext = MakeTagHelperContext(attributes); var output = MakeTagHelperOutput("script"); var logger = new Mock <ILogger <ScriptTagHelper> >(); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var helper = new ScriptTagHelper { Logger = logger.Object, HostingEnvironment = hostingEnvironment, ViewContext = viewContext, Cache = MakeCache(), }; setProperties(helper); // Act helper.Process(tagHelperContext, output); // Assert Assert.NotNull(output.TagName); Assert.False(output.IsContentModified); }
public void Process_SrcDefaultsToTagHelperOutputSrcAttributeAddedByOtherTagHelper( string src, string srcOutput, string expectedSrcPrefix) { // Arrange var allAttributes = new TagHelperAttributeList( new TagHelperAttributeList { { "type", new HtmlString("text/javascript") }, { "asp-append-version", true }, }); var context = MakeTagHelperContext(allAttributes); var outputAttributes = new TagHelperAttributeList { { "type", new HtmlString("text/javascript") }, { "src", srcOutput }, }; var output = MakeTagHelperOutput("script", outputAttributes); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var urlHelper = new Mock <IUrlHelper>(); // Ensure expanded path does not look like an absolute path on Linux, avoiding // https://github.com/aspnet/External/issues/21 urlHelper .Setup(urlhelper => urlhelper.Content(It.IsAny <string>())) .Returns(new Func <string, string>(url => url.Replace("~/", "virtualRoot/"))); var urlHelperFactory = new Mock <IUrlHelperFactory>(); urlHelperFactory .Setup(f => f.GetUrlHelper(It.IsAny <ActionContext>())) .Returns(urlHelper.Object); var helper = new ScriptTagHelper( hostingEnvironment, MakeCache(), new HtmlTestEncoder(), new JavaScriptTestEncoder(), urlHelperFactory.Object) { ViewContext = viewContext, AppendVersion = true, Src = src, }; // Act helper.Process(context, output); // Assert Assert.Equal( expectedSrcPrefix + "?v=f4OxZX_x_FO5LcGBSKHWXfwtSx-j1ncoSt3SABJtkGk", (string)output.Attributes["src"].Value, StringComparer.Ordinal); }
public void Process_SrcDefaultsToTagHelperOutputSrcAttributeAddedByOtherTagHelper( string src, string srcOutput, string expectedSrcPrefix) { // Arrange var allAttributes = new TagHelperAttributeList( new TagHelperAttributeList { { "type", new HtmlString("text/javascript") }, { "asp-append-version", true }, }); var context = MakeTagHelperContext(allAttributes); var outputAttributes = new TagHelperAttributeList { { "type", new HtmlString("text/javascript") }, { "src", srcOutput }, }; var output = MakeTagHelperOutput("script", outputAttributes); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var urlHelper = new Mock<IUrlHelper>(); // Ensure expanded path does not look like an absolute path on Linux, avoiding // https://github.com/aspnet/External/issues/21 urlHelper .Setup(urlhelper => urlhelper.Content(It.IsAny<string>())) .Returns(new Func<string, string>(url => url.Replace("~/", "virtualRoot/"))); var urlHelperFactory = new Mock<IUrlHelperFactory>(); urlHelperFactory .Setup(f => f.GetUrlHelper(It.IsAny<ActionContext>())) .Returns(urlHelper.Object); var helper = new ScriptTagHelper( hostingEnvironment, MakeCache(), new HtmlTestEncoder(), new JavaScriptTestEncoder(), urlHelperFactory.Object) { ViewContext = viewContext, AppendVersion = true, Src = src, }; // Act helper.Process(context, output); // Assert Assert.Equal( expectedSrcPrefix + "?v=f4OxZX_x_FO5LcGBSKHWXfwtSx-j1ncoSt3SABJtkGk", (string)output.Attributes["src"].Value, StringComparer.Ordinal); }
public void DoesNotRunWhenARequiredAttributeIsMissing( TagHelperAttributeList attributes, Action<ScriptTagHelper> setProperties) { // Arrange var tagHelperContext = MakeTagHelperContext(attributes); var output = MakeTagHelperOutput("script"); var logger = new Mock<ILogger<ScriptTagHelper>>(); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var helper = new ScriptTagHelper( CreateLogger(), hostingEnvironment, MakeCache(), new CommonTestEncoder(), new CommonTestEncoder(), MakeUrlHelper()) { ViewContext = viewContext, }; setProperties(helper); // Act helper.Process(tagHelperContext, output); // Assert Assert.NotNull(output.TagName); Assert.False(output.IsContentModified); Assert.Empty(output.Attributes); Assert.True(output.PostElement.IsEmpty); }
public void DoesNotRunWhenARequiredAttributeIsMissing( IDictionary<string, object> attributes, Action<ScriptTagHelper> setProperties) { // Arrange var tagHelperContext = MakeTagHelperContext(attributes); var output = MakeTagHelperOutput("script"); var logger = new Mock<ILogger<ScriptTagHelper>>(); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var helper = new ScriptTagHelper { Logger = logger.Object, HostingEnvironment = hostingEnvironment, ViewContext = viewContext, Cache = MakeCache(), }; setProperties(helper); // Act helper.Process(tagHelperContext, output); // Assert Assert.NotNull(output.TagName); Assert.False(output.IsContentModified); }