public void ProcessDirectives_CanReturnEmptyDescriptorsBasedOnDirectiveDescriptors( string source, object tagHelpers) { // Arrange var sourceDocument = TestRazorSourceDocument.Create(source, filePath: "TestFile"); var parser = new RazorParser(); var syntaxTree = parser.Parse(sourceDocument); var visitor = new DefaultRazorTagHelperBinderPhase.DirectiveVisitor((TagHelperDescriptor[])tagHelpers); // Act visitor.VisitBlock(syntaxTree.Root); // Assert Assert.Empty(visitor.Matches); }
public void DirectiveVisitor_ExtractsPrefixFromSyntaxTree( string source, string expectedPrefix) { // Arrange var sourceDocument = TestRazorSourceDocument.Create(source, filePath: "TestFile"); var parser = new RazorParser(); var syntaxTree = parser.Parse(sourceDocument); var visitor = new DefaultRazorTagHelperBinderPhase.DirectiveVisitor(tagHelpers: new List <TagHelperDescriptor>()); // Act visitor.VisitBlock(syntaxTree.Root); // Assert Assert.Equal(expectedPrefix, visitor.TagHelperPrefix); }
public void DirectiveVisitor_FiltersTagHelpersByDirectives( string source, object tagHelpers, object expectedDescriptors) { // Arrange var expected = (TagHelperDescriptor[])expectedDescriptors; var sourceDocument = TestRazorSourceDocument.Create(source, filePath: "TestFile"); var parser = new RazorParser(); var syntaxTree = parser.Parse(sourceDocument); var visitor = new DefaultRazorTagHelperBinderPhase.DirectiveVisitor((TagHelperDescriptor[])tagHelpers); // Act visitor.VisitBlock(syntaxTree.Root); // Assert Assert.Equal(expected.Count(), visitor.Matches.Count()); foreach (var expectedDescriptor in expected) { Assert.Contains(expectedDescriptor, visitor.Matches, TagHelperDescriptorComparer.Default); } }