Exemple #1
0
        public void FlattenFlattensStartAndEndTagTagHelpers()
        {
            // Arrange
            var spanFactory  = new SpanFactory();
            var blockFactory = new BlockFactory(spanFactory);
            var tagHelper    = (TagHelperBlock)blockFactory.TagHelperBlock(
                tagName: "div",
                tagMode: TagMode.StartTagAndEndTag,
                start: SourceLocation.Zero,
                startTag: blockFactory.MarkupTagBlock("<div>"),
                children: new SyntaxTreeNode[0],
                endTag: blockFactory.MarkupTagBlock("</div>"));

            spanFactory.Reset();
            var expectedStartTag = spanFactory.Markup("<div>");
            var expectedEndTag   = spanFactory.Markup("</div>");

            // Act
            var flattenedNodes = tagHelper.Flatten();

            // Assert
            Assert.Collection(
                flattenedNodes,
                first =>
            {
                Assert.True(first.EquivalentTo(expectedStartTag));
            },
                second =>
            {
                Assert.True(second.EquivalentTo(expectedEndTag));
            });
        }
Exemple #2
0
        public void FlattenFlattensSelfClosingTagHelpers()
        {
            // Arrange
            var spanFactory  = new SpanFactory();
            var blockFactory = new BlockFactory(spanFactory);
            var tagHelper    = (TagHelperBlock)blockFactory.TagHelperBlock(
                tagName: "input",
                tagMode: TagMode.SelfClosing,
                start: SourceLocation.Zero,
                startTag: blockFactory.MarkupTagBlock("<input />"),
                children: new SyntaxTreeNode[0],
                endTag: null);

            spanFactory.Reset();
            var expectedNode = spanFactory.Markup("<input />");

            // Act
            var flattenedNodes = tagHelper.Flatten();

            // Assert
            var node = Assert.Single(flattenedNodes);

            Assert.True(node.EquivalentTo(expectedNode));
        }