diff --git a/src/Microsoft.VisualStudio.LanguageServices.Razor/DefaultTagHelperFactsService.cs b/src/Microsoft.VisualStudio.LanguageServices.Razor/DefaultTagHelperFactsService.cs index 30e2c381af..ea6224cac3 100644 --- a/src/Microsoft.VisualStudio.LanguageServices.Razor/DefaultTagHelperFactsService.cs +++ b/src/Microsoft.VisualStudio.LanguageServices.Razor/DefaultTagHelperFactsService.cs @@ -138,11 +138,6 @@ namespace Microsoft.VisualStudio.LanguageServices.Razor throw new ArgumentNullException(nameof(documentContext)); } - if (parentTag == null) - { - throw new ArgumentNullException(nameof(parentTag)); - } - var matchingDescriptors = new List(); var descriptors = documentContext?.TagHelpers; if (descriptors?.Count == 0) diff --git a/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/DefaultTagHelperFactsServiceTest.cs b/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/DefaultTagHelperFactsServiceTest.cs index 90f0df6420..d7336c9965 100644 --- a/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/DefaultTagHelperFactsServiceTest.cs +++ b/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/DefaultTagHelperFactsServiceTest.cs @@ -286,6 +286,26 @@ namespace Microsoft.VisualStudio.LanguageServices.Razor Assert.Equal(expectedDescriptors, descriptors, TagHelperDescriptorComparer.CaseSensitive); } + [Fact] + public void GetTagHelpersGivenParent_AllowsRootParentTag() + { + // Arrange + var documentDescriptors = new[] + { + ITagHelperDescriptorBuilder.Create("TestType", "TestAssembly") + .TagMatchingRule(rule => rule.RequireTagName("div")) + .Build() + }; + var documentContext = TagHelperDocumentContext.Create(string.Empty, documentDescriptors); + var service = new DefaultTagHelperFactsService(); + + // Act + var descriptors = service.GetTagHelpersGivenParent(documentContext, parentTag: null /* root */); + + // Assert + Assert.Equal(documentDescriptors, descriptors, TagHelperDescriptorComparer.CaseSensitive); + } + [Fact] public void GetTagHelpersGivenParent_AllowsUnspecifiedParentTagHelpers() {