public void HandlesMultipleAttributesSameNameCorrectly(TagHelperAttributeList outputAttributes) { // Arrange var allAttributes = new TagHelperAttributeList( outputAttributes.Concat( new TagHelperAttributeList { { "rel", new HtmlString("stylesheet") }, { "href", "test.css" }, { "asp-fallback-href", "test.css" }, { "asp-fallback-test-class", "hidden" }, { "asp-fallback-test-property", "visibility" }, { "asp-fallback-test-value", "hidden" }, })); var context = MakeTagHelperContext(allAttributes); var combinedOutputAttributes = new TagHelperAttributeList( outputAttributes.Concat( new[] { new TagHelperAttribute("rel", new HtmlString("stylesheet")) })); var output = MakeTagHelperOutput("link", combinedOutputAttributes); var logger = new Mock <ILogger <LinkTagHelper> >(); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var helper = new LinkTagHelper( logger.Object, hostingEnvironment, MakeCache(), new CommonTestEncoder(), new CommonTestEncoder(), MakeUrlHelper()) { ViewContext = viewContext, FallbackHref = "test.css", FallbackTestClass = "hidden", FallbackTestProperty = "visibility", FallbackTestValue = "hidden", Href = "test.css", }; var expectedAttributes = new TagHelperAttributeList(output.Attributes); expectedAttributes.Add(new TagHelperAttribute("href", "test.css")); // Act helper.Process(context, output); // Assert Assert.Equal(expectedAttributes, output.Attributes); }
public async Task HandlesMultipleAttributesSameNameCorrectly( TagHelperAttributeList outputAttributes, string expectedAttributeString) { // Arrange var allAttributes = new TagHelperAttributeList( outputAttributes.Concat( new TagHelperAttributeList { ["data-extra"] = "something", ["src"] = "/blank.js", ["asp-fallback-src"] = "http://www.example.com/blank.js", ["asp-fallback-test"] = "isavailable()", })); var tagHelperContext = MakeTagHelperContext(allAttributes); var viewContext = MakeViewContext(); var combinedOutputAttributes = new TagHelperAttributeList( outputAttributes.Concat( new[] { new TagHelperAttribute("data-extra", new HtmlString("something")) })); var output = MakeTagHelperOutput("script", combinedOutputAttributes); var hostingEnvironment = MakeHostingEnvironment(); var helper = new ScriptTagHelper( CreateLogger(), hostingEnvironment, MakeCache(), new CommonTestEncoder(), new CommonTestEncoder()) { ViewContext = viewContext, FallbackSrc = "~/blank.js", FallbackTestExpression = "http://www.example.com/blank.js", Src = "/blank.js", }; // Act await helper.ProcessAsync(tagHelperContext, output); // Assert Assert.StartsWith( "<script " + expectedAttributeString + " data-extra=\"something\" " + "src=\"HtmlEncode[[/blank.js]]\"", output.Content.GetContent()); }
public void HandlesMultipleAttributesSameNameCorrectly(TagHelperAttributeList outputAttributes) { // Arrange var allAttributes = new TagHelperAttributeList( outputAttributes.Concat( new TagHelperAttributeList { new TagHelperAttribute("data-extra", "something"), new TagHelperAttribute("src", "/blank.js"), new TagHelperAttribute("asp-fallback-src", "http://www.example.com/blank.js"), new TagHelperAttribute("asp-fallback-test", "isavailable()"), })); var tagHelperContext = MakeTagHelperContext(allAttributes); var viewContext = MakeViewContext(); var combinedOutputAttributes = new TagHelperAttributeList( outputAttributes.Concat( new[] { new TagHelperAttribute("data-extra", new HtmlString("something")) })); var output = MakeTagHelperOutput("script", combinedOutputAttributes); var hostingEnvironment = MakeHostingEnvironment(); var helper = new ScriptTagHelper( hostingEnvironment, MakeCache(), new HtmlTestEncoder(), new JavaScriptTestEncoder(), MakeUrlHelperFactory()) { ViewContext = viewContext, FallbackSrc = "~/blank.js", FallbackTestExpression = "http://www.example.com/blank.js", Src = "/blank.js", }; var expectedAttributes = new TagHelperAttributeList(output.Attributes); expectedAttributes.Add(new TagHelperAttribute("src", "/blank.js")); // Act helper.Process(tagHelperContext, output); // Assert Assert.Equal(expectedAttributes, output.Attributes); }
public void HandlesMultipleAttributesSameNameCorrectly(TagHelperAttributeList outputAttributes) { // Arrange var allAttributes = new TagHelperAttributeList( outputAttributes.Concat( new TagHelperAttributeList { { "rel", new HtmlString("stylesheet") }, { "href", "test.css" }, { "asp-fallback-href", "test.css" }, { "asp-fallback-test-class", "hidden" }, { "asp-fallback-test-property", "visibility" }, { "asp-fallback-test-value", "hidden" }, })); var context = MakeTagHelperContext(allAttributes); var combinedOutputAttributes = new TagHelperAttributeList( outputAttributes.Concat( new[] { new TagHelperAttribute("rel", new HtmlString("stylesheet")) })); var output = MakeTagHelperOutput("link", combinedOutputAttributes); var helper = GetHelper(); helper.FallbackHref = "test.css"; helper.FallbackTestClass = "hidden"; helper.FallbackTestProperty = "visibility"; helper.FallbackTestValue = "hidden"; helper.Href = "test.css"; var expectedAttributes = new TagHelperAttributeList(output.Attributes) { new TagHelperAttribute("href", "test.css") }; // Act helper.Process(context, output); // Assert Assert.Equal(expectedAttributes, output.Attributes); }
public void HandlesMultipleAttributesSameNameCorrectly(TagHelperAttributeList outputAttributes) { // Arrange var allAttributes = new TagHelperAttributeList( outputAttributes.Concat( new TagHelperAttributeList { new TagHelperAttribute("data-extra", "something"), new TagHelperAttribute("src", "/blank.js"), new TagHelperAttribute("asp-fallback-src", "http://www.example.com/blank.js"), new TagHelperAttribute("asp-fallback-test", "isavailable()"), })); var tagHelperContext = MakeTagHelperContext(allAttributes); var combinedOutputAttributes = new TagHelperAttributeList( outputAttributes.Concat( new[] { new TagHelperAttribute("data-extra", new HtmlString("something")) })); var output = MakeTagHelperOutput("script", combinedOutputAttributes); var helper = GetHelper(); helper.FallbackSrc = "~/blank.js"; helper.FallbackTestExpression = "http://www.example.com/blank.js"; helper.Src = "/blank.js"; var expectedAttributes = new TagHelperAttributeList(output.Attributes); expectedAttributes.Add(new TagHelperAttribute("src", "/blank.js")); // Act helper.Process(tagHelperContext, output); // Assert Assert.Equal(expectedAttributes, output.Attributes); }
public void HandlesMultipleAttributesSameNameCorrectly( TagHelperAttributeList outputAttributes, string expectedAttributeString) { // Arrange var allAttributes = new TagHelperAttributeList( outputAttributes.Concat( new TagHelperAttributeList { { "rel", new HtmlString("stylesheet") }, { "href", "test.css" }, { "asp-fallback-href", "test.css" }, { "asp-fallback-test-class", "hidden" }, { "asp-fallback-test-property", "visibility" }, { "asp-fallback-test-value", "hidden" }, })); var context = MakeTagHelperContext(allAttributes); var combinedOutputAttributes = new TagHelperAttributeList( outputAttributes.Concat( new[] { new TagHelperAttribute("rel", new HtmlString("stylesheet")) })); var output = MakeTagHelperOutput("link", combinedOutputAttributes); var logger = new Mock<ILogger<LinkTagHelper>>(); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var helper = new LinkTagHelper( logger.Object, hostingEnvironment, MakeCache(), new CommonTestEncoder(), new CommonTestEncoder()) { ViewContext = viewContext, FallbackHref = "test.css", FallbackTestClass = "hidden", FallbackTestProperty = "visibility", FallbackTestValue = "hidden", Href = "test.css", }; // Act helper.Process(context, output); // Assert Assert.StartsWith("<link " + expectedAttributeString + " rel=\"stylesheet\"", output.Content.GetContent()); }
public void HandlesMultipleAttributesSameNameCorrectly(TagHelperAttributeList outputAttributes) { // Arrange var allAttributes = new TagHelperAttributeList( outputAttributes.Concat( new TagHelperAttributeList { { "rel", new HtmlString("stylesheet") }, { "href", "test.css" }, { "asp-fallback-href", "test.css" }, { "asp-fallback-test-class", "hidden" }, { "asp-fallback-test-property", "visibility" }, { "asp-fallback-test-value", "hidden" }, })); var context = MakeTagHelperContext(allAttributes); var combinedOutputAttributes = new TagHelperAttributeList( outputAttributes.Concat( new[] { new TagHelperAttribute("rel", new HtmlString("stylesheet")) })); var output = MakeTagHelperOutput("link", combinedOutputAttributes); var hostingEnvironment = MakeHostingEnvironment(); var viewContext = MakeViewContext(); var helper = new LinkTagHelper( hostingEnvironment, MakeCache(), new HtmlTestEncoder(), new JavaScriptTestEncoder(), MakeUrlHelperFactory()) { ViewContext = viewContext, FallbackHref = "test.css", FallbackTestClass = "hidden", FallbackTestProperty = "visibility", FallbackTestValue = "hidden", Href = "test.css", }; var expectedAttributes = new TagHelperAttributeList(output.Attributes); expectedAttributes.Add(new TagHelperAttribute("href", "test.css")); // Act helper.Process(context, output); // Assert Assert.Equal(expectedAttributes, output.Attributes); }
public async Task HandlesMultipleAttributesSameNameCorrectly(TagHelperAttributeList outputAttributes) { // Arrange var allAttributes = new TagHelperAttributeList( outputAttributes.Concat( new TagHelperAttributeList { ["data-extra"] = "something", ["src"] = "/blank.js", ["asp-fallback-src"] = "http://www.example.com/blank.js", ["asp-fallback-test"] = "isavailable()", })); var tagHelperContext = MakeTagHelperContext(allAttributes); var viewContext = MakeViewContext(); var combinedOutputAttributes = new TagHelperAttributeList( outputAttributes.Concat( new[] { new TagHelperAttribute("data-extra", new HtmlString("something")) })); var output = MakeTagHelperOutput("script", combinedOutputAttributes); var hostingEnvironment = MakeHostingEnvironment(); var helper = new ScriptTagHelper( hostingEnvironment, MakeCache(), new HtmlTestEncoder(), new JavaScriptTestEncoder(), MakeUrlHelperFactory()) { ViewContext = viewContext, FallbackSrc = "~/blank.js", FallbackTestExpression = "http://www.example.com/blank.js", Src = "/blank.js", }; var expectedAttributes = new TagHelperAttributeList(output.Attributes); expectedAttributes.Add(new TagHelperAttribute("src", "/blank.js")); // Act await helper.ProcessAsync(tagHelperContext, output); // Assert Assert.Equal(expectedAttributes, output.Attributes); }