Ejemplo n.º 1
0
 public void CommentTag()
 {
     ParseBlockTest("<!--Foo--> Bar",
                    new MarkupBlock(
                        BlockFactory.HtmlCommentBlock("Foo"),
                        Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)));
 }
Ejemplo n.º 2
0
 public void ParseBlockTerminatesCommentAtFirstOccurrenceOfEndSequence()
 {
     ParseBlockTest("<foo><!--<foo></bar-->--></foo>",
                    new MarkupBlock(
                        new MarkupTagBlock(
                            Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
                        BlockFactory.HtmlCommentBlock("<foo></bar"),
                        Factory.Markup("-->").Accepts(AcceptedCharactersInternal.None),
                        new MarkupTagBlock(
                            Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
 }
Ejemplo n.º 3
0
 public void ParseBlockSupportsCommentWithinBlock()
 {
     ParseBlockTest("<foo>bar<!-- zoop -->baz</foo>",
                    new MarkupBlock(
                        new MarkupTagBlock(
                            Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
                        Factory.Markup("bar"),
                        BlockFactory.HtmlCommentBlock(" zoop "),
                        Factory.Markup("baz").Accepts(AcceptedCharactersInternal.None),
                        new MarkupTagBlock(
                            Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
 }
Ejemplo n.º 4
0
 public void ParseBlockSupportsCodeWithinComment()
 {
     ParseBlockTest("<foo><!-- @foo --></foo>",
                    new MarkupBlock(
                        new MarkupTagBlock(
                            Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
                        BlockFactory.HtmlCommentBlock(Factory, f => new SyntaxTreeNode[] {
         f.Markup(" ").Accepts(AcceptedCharactersInternal.WhiteSpace),
         new ExpressionBlock(
             f.CodeTransition(),
             f.Code("foo")
             .AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
             .Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
         f.Markup(" ").Accepts(AcceptedCharactersInternal.WhiteSpace)
     }),
                        new MarkupTagBlock(
                            Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
 }
Ejemplo n.º 5
0
        public void ParseBlockHandlesUnbalancedTripleDashHTMLComments()
        {
            ParseDocumentTest(
                @"@{
    <!-- Hello, I'm a comment that shouldn't break razor --->
}",
                new MarkupBlock(
                    Factory.EmptyHtml(),
                    new StatementBlock(
                        Factory.CodeTransition(),
                        Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
                        Factory.Code(Environment.NewLine).AsStatement().AutoCompleteWith(null),
                        new MarkupBlock(
                            Factory.Markup("    "),
                            BlockFactory.HtmlCommentBlock(" Hello, I'm a comment that shouldn't break razor -"),
                            Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None)),
                        Factory.EmptyCSharp().AsStatement(),
                        Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
                    Factory.EmptyHtml()),
                new RazorDiagnostic[0]);
        }
Ejemplo n.º 6
0
 public void ParseBlockOnlyTerminatesCommentOnFullEndSequence()
 {
     ParseBlockTest("<!--<foo>--</bar>-->", new MarkupBlock(BlockFactory.HtmlCommentBlock("<foo>--</bar>")));
 }
Ejemplo n.º 7
0
 public void ParseBlockProperlyBalancesCommentStartAndEndTags()
 {
     ParseBlockTest("<!--<foo></bar>-->", new MarkupBlock(BlockFactory.HtmlCommentBlock("<foo></bar>")));
 }
Ejemplo n.º 8
0
 public void ParseBlockSupportsCommentWithExtraDashAsBlock()
 {
     ParseBlockTest("<!-- foo --->", new MarkupBlock(BlockFactory.HtmlCommentBlock(" foo -")));
 }