From 51fb1b787ab92a95e6e263f7419f80432b6f5f8d Mon Sep 17 00:00:00 2001 From: "N. Taylor Mullen" Date: Wed, 10 May 2017 16:32:34 -0700 Subject: [PATCH] Add TagHelperFactsServiceTest to validate root with parent expecting descriptor. #1253 --- .../DefaultTagHelperFactsServiceTest.cs | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/DefaultTagHelperFactsServiceTest.cs b/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/DefaultTagHelperFactsServiceTest.cs index d9e9eb4f33..acd5a54925 100644 --- a/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/DefaultTagHelperFactsServiceTest.cs +++ b/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/DefaultTagHelperFactsServiceTest.cs @@ -306,6 +306,32 @@ namespace Microsoft.VisualStudio.LanguageServices.Razor Assert.Equal(documentDescriptors, descriptors, TagHelperDescriptorComparer.CaseSensitive); } + [Fact] + public void GetTagHelpersGivenParent_AllowsRootParentTagForParentRestrictedTagHelperDescriptors() + { + // Arrange + var documentDescriptors = new[] + { + TagHelperDescriptorBuilder.Create("DivTagHelper", "TestAssembly") + .TagMatchingRule(rule => rule.RequireTagName("div")) + .Build(), + TagHelperDescriptorBuilder.Create("PTagHelper", "TestAssembly") + .TagMatchingRule(rule => rule + .RequireTagName("p") + .RequireParentTag("body")) + .Build() + }; + var documentContext = TagHelperDocumentContext.Create(string.Empty, documentDescriptors); + var service = new DefaultTagHelperFactsService(); + + // Act + var descriptors = service.GetTagHelpersGivenParent(documentContext, parentTag: null /* root */); + + // Assert + var descriptor = Assert.Single(descriptors); + Assert.Equal(documentDescriptors[0], descriptor, TagHelperDescriptorComparer.CaseSensitive); + } + [Fact] public void GetTagHelpersGivenParent_AllowsUnspecifiedParentTagHelpers() {