public void GetTagHelpersGivenTag_RestrictsTagHelpersBasedOnParent() { // Arrange var expectedDescriptors = new[] { TagHelperDescriptorBuilder.Create("TestType", "TestAssembly") .TagMatchingRuleDescriptor( rule => rule .RequireTagName("strong") .RequireParentTag("div")) .Build() }; var documentDescriptors = new[] { expectedDescriptors[0], TagHelperDescriptorBuilder.Create("TestType2", "TestAssembly") .TagMatchingRuleDescriptor( rule => rule .RequireTagName("strong") .RequireParentTag("p")) .Build() }; var documentContext = TagHelperDocumentContext.Create(string.Empty, documentDescriptors); var service = new DefaultTagHelperFactsService(); // Act var descriptors = service.GetTagHelpersGivenTag(documentContext, "strong", "div"); // Assert Assert.Equal(expectedDescriptors, descriptors, TagHelperDescriptorComparer.Default); }
public void GetTagHelpersGivenTag_DoesNotAllowOptOutCharacterPrefix() { // Arrange var documentDescriptors = new[] { TagHelperDescriptorBuilder.Create("TestType", "TestAssembly") .TagMatchingRuleDescriptor(rule => rule.RequireTagName("*")) .Build() }; var documentContext = TagHelperDocumentContext.Create(string.Empty, documentDescriptors); var service = new DefaultTagHelperFactsService(); // Act var descriptors = service.GetTagHelpersGivenTag(documentContext, "!strong", parentTag: null); // Assert Assert.Empty(descriptors); }