public void GetBinding_CaseSensitiveRule_CaseMismatch_ReturnsNull() { // Arrange var divTagHelper = TagHelperDescriptorBuilder.Create("DivTagHelper", "SomeAssembly") .TagMatchingRuleDescriptor(rule => rule.RequireTagName("div")) .SetCaseSensitive() .Build(); var expectedDescriptors = new[] { divTagHelper }; var expectedAttributes = new[] { new KeyValuePair <string, string>("class", "something") }; var tagHelperBinder = new TagHelperBinder("th:", expectedDescriptors); // Act var bindingResult = tagHelperBinder.GetBinding( tagName: "th:Div", attributes: expectedAttributes, parentTagName: "body", parentIsTagHelper: false); // Assert Assert.Null(bindingResult); }
private static TagHelperDescriptor CreateTagHelperDescriptor( string tagName, string typeName, string assemblyName, IEnumerable <Action <BoundAttributeDescriptorBuilder> > attributes = null) { var builder = TagHelperDescriptorBuilder.Create(typeName, assemblyName); builder.TypeName(typeName); if (attributes != null) { foreach (var attributeBuilder in attributes) { builder.BoundAttributeDescriptor(attributeBuilder); } } builder.TagMatchingRuleDescriptor(ruleBuilder => ruleBuilder.RequireTagName(tagName)); var descriptor = builder.Build(); return(descriptor); }
public void GetDescriptors_ReturnsCatchAllsWithEveryTagName() { // Arrange var divDescriptor = TagHelperDescriptorBuilder.Create("foo1", "SomeAssembly") .TagMatchingRuleDescriptor(rule => rule.RequireTagName("div")) .Build(); var spanDescriptor = TagHelperDescriptorBuilder.Create("foo2", "SomeAssembly") .TagMatchingRuleDescriptor(rule => rule.RequireTagName("span")) .Build(); var catchAllDescriptor = TagHelperDescriptorBuilder.Create("foo3", "SomeAssembly") .TagMatchingRuleDescriptor(rule => rule.RequireTagName(TagHelperMatchingConventions.ElementCatchAllName)) .Build(); var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor, catchAllDescriptor }; var tagHelperBinder = new TagHelperBinder(null, descriptors); // Act var divBinding = tagHelperBinder.GetBinding( tagName: "div", attributes: Array.Empty <KeyValuePair <string, string> >(), parentTagName: "p"); var spanBinding = tagHelperBinder.GetBinding( tagName: "span", attributes: Array.Empty <KeyValuePair <string, string> >(), parentTagName: "p"); // Assert // For divs Assert.Equal(2, divBinding.Descriptors.Count()); Assert.Contains(divDescriptor, divBinding.Descriptors); Assert.Contains(catchAllDescriptor, divBinding.Descriptors); // For spans Assert.Equal(2, spanBinding.Descriptors.Count()); Assert.Contains(spanDescriptor, spanBinding.Descriptors); Assert.Contains(catchAllDescriptor, spanBinding.Descriptors); }