Converted HtmlBlockTest to use baselines

This commit is contained in:
Ajay Bhargav Baaskaran 2018-06-26 15:36:41 -07:00
parent a92089d2f9
commit 1e58748f59
49 changed files with 1106 additions and 434 deletions

View File

@ -8,47 +8,25 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
{
public class HtmlBlockTest : CsHtmlMarkupParserTestBase
{
public HtmlBlockTest()
{
UseBaselineTests = true;
}
[Fact]
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]);
}");
}
[Fact]
public void ParseBlockHandlesOpenAngleAtEof()
{
ParseDocumentTest("@{" + Environment.NewLine
+ "<",
new MarkupBlock(
Factory.EmptyHtml(),
new StatementBlock(
Factory.CodeTransition(),
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
Factory.Code(Environment.NewLine)
.AsStatement()
.AutoCompleteWith("}"),
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<"))))),
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"));
+ "<");
}
[Fact]
@ -57,601 +35,243 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
ParseDocumentTest("@{" + Environment.NewLine
+ "<" + Environment.NewLine
+ "</html>",
new MarkupBlock(
Factory.EmptyHtml(),
new StatementBlock(
Factory.CodeTransition(),
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
Factory.Code(Environment.NewLine)
.AsStatement()
.AutoCompleteWith("}"),
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<" + Environment.NewLine))
),
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("</html>").Accepts(AcceptedCharactersInternal.None))
),
Factory.EmptyCSharp().AsStatement()
)
),
designTime: true,
expectedErrors: new[]
{
RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag(
new SourceSpan(new SourceLocation(5 + Environment.NewLine.Length * 2, 2, 2), contentLength: 4), "html"),
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"),
});
designTime: true);
}
[Fact]
public void TagWithoutCloseAngleDoesNotTerminateBlock()
{
ParseBlockTest("< " + Environment.NewLine
+ " ",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup($"< {Environment.NewLine} "))),
designTime: true,
expectedErrors: RazorDiagnosticFactory.CreateParsing_UnfinishedTag(
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), string.Empty));
+ " ");
}
[Fact]
public void ParseBlockAllowsStartAndEndTagsToDifferInCase()
{
ParseBlockTest("<li><p>Foo</P></lI>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<li>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<p>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("Foo"),
new MarkupTagBlock(
Factory.Markup("</P>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</lI>").Accepts(AcceptedCharactersInternal.None))
));
ParseBlockTest("<li><p>Foo</P></lI>");
}
[Fact]
public void ParseBlockReadsToEndOfLineIfFirstCharacterAfterTransitionIsColon()
{
ParseBlockTest("@:<li>Foo Bar Baz" + Environment.NewLine
+ "bork",
new MarkupBlock(
Factory.MarkupTransition(),
Factory.MetaMarkup(":", HtmlSymbolType.Colon),
Factory.Markup("<li>Foo Bar Baz" + Environment.NewLine)
.With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None))
));
+ "bork");
}
[Fact]
public void ParseBlockStopsParsingSingleLineBlockAtEOFIfNoEOLReached()
{
ParseBlockTest("@:foo bar",
new MarkupBlock(
Factory.MarkupTransition(),
Factory.MetaMarkup(":", HtmlSymbolType.Colon),
Factory.Markup(@"foo bar")
.With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString))
));
ParseBlockTest("@:foo bar");
}
[Fact]
public void ParseBlockStopsAtMatchingCloseTagToStartTag()
{
ParseBlockTest("<a><b></b></a><c></c>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<a>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<b>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</b>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</a>").Accepts(AcceptedCharactersInternal.None))
));
ParseBlockTest("<a><b></b></a><c></c>");
}
[Fact]
public void ParseBlockParsesUntilMatchingEndTagIfFirstNonWhitespaceCharacterIsStartTag()
{
ParseBlockTest("<baz><boz><biz></biz></boz></baz>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<baz>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<boz>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<biz>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</biz>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</boz>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</baz>").Accepts(AcceptedCharactersInternal.None))
));
ParseBlockTest("<baz><boz><biz></biz></boz></baz>");
}
[Fact]
public void ParseBlockAllowsUnclosedTagsAsLongAsItCanRecoverToAnExpectedEndTag()
{
ParseBlockTest("<foo><bar><baz></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<bar>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<baz>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))
));
ParseBlockTest("<foo><bar><baz></foo>");
}
[Fact]
public void ParseBlockWithSelfClosingTagJustEmitsTag()
{
ParseBlockTest("<foo />",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo />").Accepts(AcceptedCharactersInternal.None))
));
ParseBlockTest("<foo />");
}
[Fact]
public void ParseBlockCanHandleSelfClosingTagsWithinBlock()
{
ParseBlockTest("<foo><bar /></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<bar />").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))
));
ParseBlockTest("<foo><bar /></foo>");
}
[Fact]
public void ParseBlockSupportsTagsWithAttributes()
{
ParseBlockTest("<foo bar=\"baz\"><biz><boz zoop=zork/></biz></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo"),
new MarkupBlock(new AttributeBlockChunkGenerator("bar", new LocationTagged<string>(" bar=\"", 4, 0, 4), new LocationTagged<string>("\"", 13, 0, 13)),
Factory.Markup(" bar=\"").With(SpanChunkGenerator.Null),
Factory.Markup("baz").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 10, 0, 10), new LocationTagged<string>("baz", 10, 0, 10))),
Factory.Markup("\"").With(SpanChunkGenerator.Null)),
Factory.Markup(">").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<biz>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<boz"),
new MarkupBlock(new AttributeBlockChunkGenerator("zoop", new LocationTagged<string>(" zoop=", 24, 0, 24), new LocationTagged<string>(string.Empty, 34, 0, 34)),
Factory.Markup(" zoop=").With(SpanChunkGenerator.Null),
Factory.Markup("zork").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 30, 0, 30), new LocationTagged<string>("zork", 30, 0, 30)))),
Factory.Markup("/>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</biz>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo bar=\"baz\"><biz><boz zoop=zork/></biz></foo>");
}
[Fact]
public void ParseBlockAllowsCloseAngleBracketInAttributeValueIfDoubleQuoted()
{
ParseBlockTest("<foo><bar baz=\">\" /></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<bar"),
new MarkupBlock(new AttributeBlockChunkGenerator("baz", new LocationTagged<string>(" baz=\"", 9, 0, 9), new LocationTagged<string>("\"", 16, 0, 16)),
Factory.Markup(" baz=\"").With(SpanChunkGenerator.Null),
Factory.Markup(">").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 15, 0, 15), new LocationTagged<string>(">", 15, 0, 15))),
Factory.Markup("\"").With(SpanChunkGenerator.Null)),
Factory.Markup(" />").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><bar baz=\">\" /></foo>");
}
[Fact]
public void ParseBlockAllowsCloseAngleBracketInAttributeValueIfSingleQuoted()
{
ParseBlockTest("<foo><bar baz=\'>\' /></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<bar"),
new MarkupBlock(new AttributeBlockChunkGenerator("baz", new LocationTagged<string>(" baz='", 9, 0, 9), new LocationTagged<string>("'", 16, 0, 16)),
Factory.Markup(" baz='").With(SpanChunkGenerator.Null),
Factory.Markup(">").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 15, 0, 15), new LocationTagged<string>(">", 15, 0, 15))),
Factory.Markup("'").With(SpanChunkGenerator.Null)),
Factory.Markup(" />").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><bar baz=\'>\' /></foo>");
}
[Fact]
public void ParseBlockAllowsSlashInAttributeValueIfDoubleQuoted()
{
ParseBlockTest("<foo><bar baz=\"/\"></bar></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<bar"),
new MarkupBlock(new AttributeBlockChunkGenerator("baz", new LocationTagged<string>(" baz=\"", 9, 0, 9), new LocationTagged<string>("\"", 16, 0, 16)),
Factory.Markup(" baz=\"").With(SpanChunkGenerator.Null),
Factory.Markup("/").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 15, 0, 15), new LocationTagged<string>("/", 15, 0, 15))),
Factory.Markup("\"").With(SpanChunkGenerator.Null)),
Factory.Markup(">").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</bar>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><bar baz=\"/\"></bar></foo>");
}
[Fact]
public void ParseBlockAllowsSlashInAttributeValueIfSingleQuoted()
{
ParseBlockTest("<foo><bar baz=\'/\'></bar></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<bar"),
new MarkupBlock(new AttributeBlockChunkGenerator("baz", new LocationTagged<string>(" baz='", 9, 0, 9), new LocationTagged<string>("'", 16, 0, 16)),
Factory.Markup(" baz='").With(SpanChunkGenerator.Null),
Factory.Markup("/").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 15, 0, 15), new LocationTagged<string>("/", 15, 0, 15))),
Factory.Markup("'").With(SpanChunkGenerator.Null)),
Factory.Markup(">").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</bar>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><bar baz=\'/\'></bar></foo>");
}
[Fact]
public void ParseBlockTerminatesAtEOF()
{
ParseBlockTest("<foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None))),
RazorDiagnosticFactory.CreateParsing_MissingEndTag(
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 3), "foo"));
ParseBlockTest("<foo>");
}
[Fact]
public void ParseBlockSupportsCommentAsBlock()
{
ParseBlockTest("<!-- foo -->", new MarkupBlock(BlockFactory.HtmlCommentBlock(" foo ")));
ParseBlockTest("<!-- foo -->");
}
[Fact]
public void ParseBlockSupportsCommentWithExtraDashAsBlock()
{
ParseBlockTest("<!-- foo --->", new MarkupBlock(BlockFactory.HtmlCommentBlock(" foo -")));
ParseBlockTest("<!-- foo --->");
}
[Fact]
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))));
ParseBlockTest("<foo>bar<!-- zoop -->baz</foo>");
}
public static TheoryData HtmlCommentSupportsMultipleDashesData
[Fact]
public void HtmlCommentSupportsMultipleDashes()
{
get
{
var factory = new SpanFactory();
var blockFactory = new BlockFactory(factory);
return new TheoryData<string, MarkupBlock>
{
{
"<div><!--- Hello World ---></div>",
new MarkupBlock(
new MarkupTagBlock(
factory.Markup("<div>").Accepts(AcceptedCharactersInternal.None)),
blockFactory.HtmlCommentBlock("- Hello World -"),
new MarkupTagBlock(
factory.Markup("</div>").Accepts(AcceptedCharactersInternal.None)))
},
{
"<div><!---- Hello World ----></div>",
new MarkupBlock(
new MarkupTagBlock(
factory.Markup("<div>").Accepts(AcceptedCharactersInternal.None)),
blockFactory.HtmlCommentBlock("-- Hello World --"),
new MarkupTagBlock(
factory.Markup("</div>").Accepts(AcceptedCharactersInternal.None)))
},
{
"<div><!----- Hello World -----></div>",
new MarkupBlock(
new MarkupTagBlock(
factory.Markup("<div>").Accepts(AcceptedCharactersInternal.None)),
blockFactory.HtmlCommentBlock("--- Hello World ---"),
new MarkupTagBlock(
factory.Markup("</div>").Accepts(AcceptedCharactersInternal.None)))
},
{
"<div><!----- Hello < --- > World </div> -----></div>",
new MarkupBlock(
new MarkupTagBlock(
factory.Markup("<div>").Accepts(AcceptedCharactersInternal.None)),
blockFactory.HtmlCommentBlock("--- Hello < --- > World </div> ---"),
new MarkupTagBlock(
factory.Markup("</div>").Accepts(AcceptedCharactersInternal.None)))
},
};
}
}
[Theory]
[MemberData(nameof(HtmlCommentSupportsMultipleDashesData))]
public void HtmlCommentSupportsMultipleDashes(string documentContent, object expectedOutput)
{
FixupSpans = true;
ParseBlockTest(documentContent, (MarkupBlock)expectedOutput);
ParseDocumentTest(
@"<div><!--- Hello World ---></div>
<div><!---- Hello World ----></div>
<div><!----- Hello World -----></div>
<div><!----- Hello < --- > World </div> -----></div>
");
}
[Fact]
public void ParseBlockProperlyBalancesCommentStartAndEndTags()
{
ParseBlockTest("<!--<foo></bar>-->", new MarkupBlock(BlockFactory.HtmlCommentBlock("<foo></bar>")));
ParseBlockTest("<!--<foo></bar>-->");
}
[Fact]
public void ParseBlockTerminatesAtEOFWhenParsingComment()
{
ParseBlockTest(
"<!--<foo>",
new MarkupBlock(
Factory.Markup("<!--<foo>").Accepts(AcceptedCharactersInternal.None)));
ParseBlockTest("<!--<foo>");
}
[Fact]
public void ParseBlockOnlyTerminatesCommentOnFullEndSequence()
{
ParseBlockTest("<!--<foo>--</bar>-->", new MarkupBlock(BlockFactory.HtmlCommentBlock("<foo>--</bar>")));
ParseBlockTest("<!--<foo>--</bar>-->");
}
[Fact]
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))));
ParseBlockTest("<foo><!--<foo></bar-->--></foo>");
}
[Fact]
public void ParseBlockTreatsMalformedTagsAsContent()
{
ParseBlockTest("<foo></!-- bar --></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</!-- bar -->").Accepts(AcceptedCharactersInternal.None))),
RazorDiagnosticFactory.CreateParsing_MissingEndTag(
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 3), "foo"));
ParseBlockTest("<foo></!-- bar --></foo>");
}
[Fact]
public void ParseBlockParsesSGMLDeclarationAsEmptyTag()
{
ParseBlockTest("<foo><!DOCTYPE foo bar baz></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("<!DOCTYPE foo bar baz>").Accepts(AcceptedCharactersInternal.None),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><!DOCTYPE foo bar baz></foo>");
}
[Fact]
public void ParseBlockTerminatesSGMLDeclarationAtFirstCloseAngle()
{
ParseBlockTest("<foo><!DOCTYPE foo bar> baz></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("<!DOCTYPE foo bar>").Accepts(AcceptedCharactersInternal.None),
Factory.Markup(" baz>"),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><!DOCTYPE foo bar> baz></foo>");
}
[Fact]
public void ParseBlockParsesXMLProcessingInstructionAsEmptyTag()
{
ParseBlockTest("<foo><?xml foo bar baz?></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("<?xml foo bar baz?>").Accepts(AcceptedCharactersInternal.None),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><?xml foo bar baz?></foo>");
}
[Fact]
public void ParseBlockTerminatesXMLProcessingInstructionAtQuestionMarkCloseAnglePair()
{
ParseBlockTest("<foo><?xml foo bar baz?> baz</foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("<?xml foo bar baz?>").Accepts(AcceptedCharactersInternal.None),
Factory.Markup(" baz"),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><?xml foo bar baz?> baz</foo>");
}
[Fact]
public void ParseBlockDoesNotTerminateXMLProcessingInstructionAtCloseAngleUnlessPreceededByQuestionMark()
{
ParseBlockTest("<foo><?xml foo bar> baz?></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("<?xml foo bar> baz?>").Accepts(AcceptedCharactersInternal.None),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<foo><?xml foo bar> baz?></foo>");
}
[Fact]
public void ParseBlockSupportsScriptTagsWithLessThanSignsInThem()
{
ParseBlockTest(@"<script>if(foo<bar) { alert(""baz"");)</script>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<script>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup(@"if(foo<bar) { alert(""baz"");)"),
new MarkupTagBlock(
Factory.Markup("</script>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest(@"<script>if(foo<bar) { alert(""baz"");)</script>");
}
[Fact]
public void ParseBlockSupportsScriptTagsWithSpacedLessThanSignsInThem()
{
ParseBlockTest(@"<script>if(foo < bar) { alert(""baz"");)</script>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<script>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup(@"if(foo < bar) { alert(""baz"");)"),
new MarkupTagBlock(
Factory.Markup("</script>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest(@"<script>if(foo < bar) { alert(""baz"");)</script>");
}
[Fact]
public void ParseBlockAcceptsEmptyTextTag()
{
ParseBlockTest("<text/>",
new MarkupBlock(
new MarkupTagBlock(
Factory.MarkupTransition("<text/>"))
));
ParseBlockTest("<text/>");
}
[Fact]
public void ParseBlockAcceptsTextTagAsOuterTagButDoesNotRender()
{
ParseBlockTest("<text>Foo Bar <foo> Baz</text> zoop",
new MarkupBlock(
new MarkupTagBlock(
Factory.MarkupTransition("<text>")),
Factory.Markup("Foo Bar ").Accepts(AcceptedCharactersInternal.None),
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup(" Baz"),
new MarkupTagBlock(
Factory.MarkupTransition("</text>"))));
ParseBlockTest("<text>Foo Bar <foo> Baz</text> zoop");
}
[Fact]
public void ParseBlockRendersLiteralTextTagIfDoubled()
{
ParseBlockTest("<text><text>Foo Bar <foo> Baz</text></text> zoop",
new MarkupBlock(
new MarkupTagBlock(
Factory.MarkupTransition("<text>")),
new MarkupTagBlock(
Factory.Markup("<text>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("Foo Bar "),
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup(" Baz"),
new MarkupTagBlock(
Factory.Markup("</text>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.MarkupTransition("</text>"))));
ParseBlockTest("<text><text>Foo Bar <foo> Baz</text></text> zoop");
}
[Fact]
public void ParseBlockDoesNotConsiderPsuedoTagWithinMarkupBlock()
{
ParseBlockTest("<foo><text><bar></bar></foo>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<text>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("<bar>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</bar>").Accepts(AcceptedCharactersInternal.None)),
new MarkupTagBlock(
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))
));
ParseBlockTest("<foo><text><bar></bar></foo>");
}
[Fact]
public void ParseBlockStopsParsingMidEmptyTagIfEOFReached()
{
ParseBlockTest("<br/",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<br/"))),
RazorDiagnosticFactory.CreateParsing_UnfinishedTag(
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 2), "br"));
ParseBlockTest("<br/");
}
[Fact]
public void ParseBlockCorrectlyHandlesSingleLineOfMarkupWithEmbeddedStatement()
{
ParseBlockTest("<div>Foo @if(true) {} Bar</div>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<div>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("Foo "),
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("if(true) {}").AsStatement()),
Factory.Markup(" Bar"),
new MarkupTagBlock(
Factory.Markup("</div>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest("<div>Foo @if(true) {} Bar</div>");
}
[Fact]
public void ParseBlockIgnoresTagsInContentsOfScriptTag()
{
ParseBlockTest(@"<script>foo<bar baz='@boz'></script>",
new MarkupBlock(
new MarkupTagBlock(
Factory.Markup("<script>").Accepts(AcceptedCharactersInternal.None)),
Factory.Markup("foo<bar baz='"),
new ExpressionBlock(
Factory.CodeTransition(),
Factory.Code("boz")
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: false)
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
Factory.Markup("'>"),
new MarkupTagBlock(
Factory.Markup("</script>").Accepts(AcceptedCharactersInternal.None))));
ParseBlockTest(@"<script>foo<bar baz='@boz'></script>");
}
}
}

View File

@ -0,0 +1,133 @@
Markup block - Gen<None> - 165 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<div>] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
HtmlComment block - Gen<None> - 22 - (5:0,5)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [- Hello World -] - SpanEditHandler;Accepts:WhiteSpace - (9:0,9) - Symbols:7
HtmlSymbolType.Text;[-];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Hello];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[World];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[-];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (27:0,27)
Markup span - Gen<Markup> - [</div>] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1
HtmlSymbolType.NewLine;[LF];
Tag block - Gen<None> - 5 - (35:1,0)
Markup span - Gen<Markup> - [<div>] - SpanEditHandler;Accepts:Any - (35:1,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
HtmlComment block - Gen<None> - 24 - (40:1,5)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (40:1,5) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [-- Hello World --] - SpanEditHandler;Accepts:WhiteSpace - (44:1,9) - Symbols:7
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Hello];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[World];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (61:1,26) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (64:1,29)
Markup span - Gen<Markup> - [</div>] - SpanEditHandler;Accepts:Any - (64:1,29) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (70:1,35) - Symbols:1
HtmlSymbolType.NewLine;[LF];
Tag block - Gen<None> - 5 - (72:2,0)
Markup span - Gen<Markup> - [<div>] - SpanEditHandler;Accepts:Any - (72:2,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
HtmlComment block - Gen<None> - 26 - (77:2,5)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (77:2,5) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [--- Hello World ---] - SpanEditHandler;Accepts:WhiteSpace - (81:2,9) - Symbols:9
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.Text;[-];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Hello];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[World];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.Text;[-];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (100:2,28) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (103:2,31)
Markup span - Gen<Markup> - [</div>] - SpanEditHandler;Accepts:Any - (103:2,31) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (109:2,37) - Symbols:1
HtmlSymbolType.NewLine;[LF];
Tag block - Gen<None> - 5 - (111:3,0)
Markup span - Gen<Markup> - [<div>] - SpanEditHandler;Accepts:Any - (111:3,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
HtmlComment block - Gen<None> - 41 - (116:3,5)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (116:3,5) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [--- Hello < --- > World </div> ---] - SpanEditHandler;Accepts:WhiteSpace - (120:3,9) - Symbols:21
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.Text;[-];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Hello];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.Text;[-];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.CloseAngle;[>];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[World];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.Text;[-];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (154:3,43) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (157:3,46)
Markup span - Gen<Markup> - [</div>] - SpanEditHandler;Accepts:Any - (157:3,46) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (163:3,52) - Symbols:1
HtmlSymbolType.NewLine;[LF];

View File

@ -0,0 +1,7 @@
Markup block - Gen<None> - 7 - (0:0,0)
Tag block - Gen<None> - 7 - (0:0,0)
Transition span - Gen<None> - [<text/>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[text];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,25 @@
Markup block - Gen<None> - 30 - (0:0,0)
Tag block - Gen<None> - 6 - (0:0,0)
Transition span - Gen<None> - [<text>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[text];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [Foo Bar ] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:4
HtmlSymbolType.Text;[Foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Bar];
HtmlSymbolType.WhiteSpace;[ ];
Tag block - Gen<None> - 5 - (14:0,14)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [ Baz] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:2
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Baz];
Tag block - Gen<None> - 7 - (23:0,23)
Transition span - Gen<None> - [</text>] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[text];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,30 @@
Markup block - Gen<None> - 26 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 15 - (5:0,5)
Markup span - Gen<Markup> - [<bar] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:2
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar];
Markup block - Gen<Attr:baz, baz="@(9:0,9),"@(16:0,16)> - 8 - (9:0,9)
Markup span - Gen<None> - [ baz="] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:4
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.Equals;[=];
HtmlSymbolType.DoubleQuote;["];
Markup span - Gen<LitAttr:@(15:0,15)> - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<None> - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1
HtmlSymbolType.DoubleQuote;["];
Markup span - Gen<Markup> - [ />] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:3
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (20:0,20)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,30 @@
Markup block - Gen<None> - 26 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 15 - (5:0,5)
Markup span - Gen<Markup> - [<bar] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:2
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar];
Markup block - Gen<Attr:baz, baz='@(9:0,9),'@(16:0,16)> - 8 - (9:0,9)
Markup span - Gen<None> - [ baz='] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:4
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.Equals;[=];
HtmlSymbolType.SingleQuote;['];
Markup span - Gen<LitAttr:@(15:0,15)> - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<None> - ['] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1
HtmlSymbolType.SingleQuote;['];
Markup span - Gen<Markup> - [ />] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:3
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (20:0,20)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,34 @@
Markup block - Gen<None> - 30 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 13 - (5:0,5)
Markup span - Gen<Markup> - [<bar] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:2
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar];
Markup block - Gen<Attr:baz, baz="@(9:0,9),"@(16:0,16)> - 8 - (9:0,9)
Markup span - Gen<None> - [ baz="] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:4
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.Equals;[=];
HtmlSymbolType.DoubleQuote;["];
Markup span - Gen<LitAttr:@(15:0,15)> - [/] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1
HtmlSymbolType.ForwardSlash;[/];
Markup span - Gen<None> - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1
HtmlSymbolType.DoubleQuote;["];
Markup span - Gen<Markup> - [>] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (18:0,18)
Markup span - Gen<Markup> - [</bar>] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (24:0,24)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,34 @@
Markup block - Gen<None> - 30 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 13 - (5:0,5)
Markup span - Gen<Markup> - [<bar] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:2
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar];
Markup block - Gen<Attr:baz, baz='@(9:0,9),'@(16:0,16)> - 8 - (9:0,9)
Markup span - Gen<None> - [ baz='] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:4
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.Equals;[=];
HtmlSymbolType.SingleQuote;['];
Markup span - Gen<LitAttr:@(15:0,15)> - [/] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1
HtmlSymbolType.ForwardSlash;[/];
Markup span - Gen<None> - ['] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1
HtmlSymbolType.SingleQuote;['];
Markup span - Gen<Markup> - [>] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (18:0,18)
Markup span - Gen<Markup> - [</bar>] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (24:0,24)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,25 @@
Markup block - Gen<None> - 19 - (0:0,0)
Tag block - Gen<None> - 4 - (0:0,0)
Markup span - Gen<Markup> - [<li>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[li];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 3 - (4:0,4)
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[p];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [Foo] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1
HtmlSymbolType.Text;[Foo];
Tag block - Gen<None> - 4 - (10:0,10)
Markup span - Gen<Markup> - [</P>] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[P];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 5 - (14:0,14)
Markup span - Gen<Markup> - [</lI>] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[lI];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,22 @@
Markup block - Gen<None> - 21 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 5 - (5:0,5)
Markup span - Gen<Markup> - [<bar>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 5 - (10:0,10)
Markup span - Gen<Markup> - [<baz>] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (15:0,15)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,19 @@
Markup block - Gen<None> - 18 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 7 - (5:0,5)
Markup span - Gen<Markup> - [<bar />] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:5
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (12:0,12)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,29 @@
Markup block - Gen<None> - 31 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<div>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [Foo ] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:2
HtmlSymbolType.Text;[Foo];
HtmlSymbolType.WhiteSpace;[ ];
Statement block - Gen<None> - 12 - (9:0,9)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [if(true) {}] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:7
CSharpSymbolType.Keyword;[if];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.RightBrace;[}];
Markup span - Gen<Markup> - [ Bar] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:2
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Bar];
Tag block - Gen<None> - 6 - (25:0,25)
Markup span - Gen<Markup> - [</div>] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[div];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,28 @@
Markup block - Gen<None> - 28 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (5:0,5)
Markup span - Gen<Markup> - [<text>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[text];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 5 - (11:0,11)
Markup span - Gen<Markup> - [<bar>] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (16:0,16)
Markup span - Gen<Markup> - [</bar>] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (22:0,22)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,25 @@
Markup block - Gen<None> - 31 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [<?xml foo bar> baz?>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:12
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.QuestionMark;[?];
HtmlSymbolType.Text;[xml];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.QuestionMark;[?];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (25:0,25)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1 @@
(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.

View File

@ -0,0 +1,14 @@
Markup block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
HtmlSymbolType.Unknown;[];
Statement block - Gen<None> - 5 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
CSharpSymbolType.LeftBrace;[{];
Code span - Gen<Stmt> - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (2:0,2) - Symbols:1
CSharpSymbolType.NewLine;[LF];
Markup block - Gen<None> - 1 - (4:1,0)
Tag block - Gen<None> - 1 - (4:1,0)
Markup span - Gen<Markup> - [<] - SpanEditHandler;Accepts:Any - (4:1,0) - Symbols:1
HtmlSymbolType.OpenAngle;[<];

View File

@ -0,0 +1,2 @@
(3,3): Error RZ1026: Encountered end tag "html" with no matching start tag. Are your start/end tags properly balanced?
(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.

View File

@ -0,0 +1,24 @@
Markup block - Gen<None> - 14 - (0:0,0)
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
HtmlSymbolType.Unknown;[];
Statement block - Gen<None> - 14 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
CSharpSymbolType.LeftBrace;[{];
Code span - Gen<Stmt> - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (2:0,2) - Symbols:1
CSharpSymbolType.NewLine;[LF];
Markup block - Gen<None> - 3 - (4:1,0)
Tag block - Gen<None> - 3 - (4:1,0)
Markup span - Gen<Markup> - [<LF] - SpanEditHandler;Accepts:Any - (4:1,0) - Symbols:2
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.NewLine;[LF];
Markup block - Gen<None> - 7 - (7:2,0)
Tag block - Gen<None> - 7 - (7:2,0)
Markup span - Gen<Markup> - [</html>] - SpanEditHandler;Accepts:None - (7:2,0) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[html];
HtmlSymbolType.CloseAngle;[>];
Code span - Gen<Stmt> - [] - SpanEditHandler;Accepts:Any - (14:2,7) - Symbols:1
CSharpSymbolType.Unknown;[];

View File

@ -0,0 +1,52 @@
Markup block - Gen<None> - 68 - (0:0,0)
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
HtmlSymbolType.Unknown;[];
Statement block - Gen<None> - 68 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
CSharpSymbolType.LeftBrace;[{];
Code span - Gen<Stmt> - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[<null>];AtEOL - (2:0,2) - Symbols:1
CSharpSymbolType.NewLine;[LF];
Markup block - Gen<None> - 63 - (4:1,0)
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (4:1,0) - Symbols:1
HtmlSymbolType.WhiteSpace;[ ];
HtmlComment block - Gen<None> - 57 - (8:1,4)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (8:1,4) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [ Hello, I'm a comment that shouldn't break razor -] - SpanEditHandler;Accepts:WhiteSpace - (12:1,8) - Symbols:22
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Hello,];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[I];
HtmlSymbolType.SingleQuote;['];
HtmlSymbolType.Text;[m];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[a];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[comment];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[that];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[shouldn];
HtmlSymbolType.SingleQuote;['];
HtmlSymbolType.Text;[t];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[break];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[razor];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[-];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (62:1,58) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:None - (65:1,61) - Symbols:1
HtmlSymbolType.NewLine;[LF];
Code span - Gen<Stmt> - [] - SpanEditHandler;Accepts:Any - (67:2,0) - Symbols:1
CSharpSymbolType.Unknown;[];
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (67:2,0) - Symbols:1
CSharpSymbolType.RightBrace;[}];
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (68:2,1) - Symbols:1
HtmlSymbolType.Unknown;[];

View File

@ -0,0 +1,28 @@
Markup block - Gen<None> - 36 - (0:0,0)
Tag block - Gen<None> - 8 - (0:0,0)
Markup span - Gen<Markup> - [<script>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[script];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [foo<bar baz='] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:7
HtmlSymbolType.Text;[foo];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.Equals;[=];
HtmlSymbolType.SingleQuote;['];
Expression block - Gen<Expr> - 4 - (21:0,21)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [boz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (22:0,22) - Symbols:1
CSharpSymbolType.Identifier;[boz];
Markup span - Gen<Markup> - ['>] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:2
HtmlSymbolType.SingleQuote;['];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 9 - (27:0,27)
Markup span - Gen<Markup> - [</script>] - SpanEditHandler;Accepts:None - (27:0,27) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[script];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,18 @@
Markup block - Gen<None> - 20 - (0:0,0)
HtmlComment block - Gen<None> - 20 - (0:0,0)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [<foo>--</bar>] - SpanEditHandler;Accepts:WhiteSpace - (4:0,4) - Symbols:8
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,23 @@
Markup block - Gen<None> - 33 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [<!DOCTYPE foo bar baz>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:10
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.Text;[DOCTYPE];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (27:0,27)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (27:0,27) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,34 @@
Markup block - Gen<None> - 33 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<baz>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 5 - (5:0,5)
Markup span - Gen<Markup> - [<boz>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[boz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 5 - (10:0,10)
Markup span - Gen<Markup> - [<biz>] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[biz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (15:0,15)
Markup span - Gen<Markup> - [</biz>] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[biz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (21:0,21)
Markup span - Gen<Markup> - [</boz>] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[boz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (27:0,27)
Markup span - Gen<Markup> - [</baz>] - SpanEditHandler;Accepts:None - (27:0,27) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,24 @@
Markup block - Gen<None> - 30 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [<?xml foo bar baz?>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:11
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.QuestionMark;[?];
HtmlSymbolType.Text;[xml];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.QuestionMark;[?];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (24:0,24)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,17 @@
Markup block - Gen<None> - 18 - (0:0,0)
HtmlComment block - Gen<None> - 18 - (0:0,0)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [<foo></bar>] - SpanEditHandler;Accepts:WhiteSpace - (4:0,4) - Symbols:7
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,15 @@
Markup block - Gen<None> - 19 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
HtmlSymbolType.Transition;[@];
MetaCode span - Gen<None> - [:] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:1
HtmlSymbolType.Colon;[:];
Markup span - Gen<Markup> - [<li>Foo Bar BazLF] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:9
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[li];
HtmlSymbolType.CloseAngle;[>];
HtmlSymbolType.Text;[Foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Bar];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Baz];
HtmlSymbolType.NewLine;[LF];

View File

@ -0,0 +1,36 @@
Markup block - Gen<None> - 43 - (0:0,0)
Tag block - Gen<None> - 6 - (0:0,0)
Transition span - Gen<None> - [<text>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[text];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (6:0,6)
Markup span - Gen<Markup> - [<text>] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[text];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [Foo Bar ] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:4
HtmlSymbolType.Text;[Foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Bar];
HtmlSymbolType.WhiteSpace;[ ];
Tag block - Gen<None> - 5 - (20:0,20)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [ Baz] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:2
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[Baz];
Tag block - Gen<None> - 7 - (29:0,29)
Markup span - Gen<Markup> - [</text>] - SpanEditHandler;Accepts:None - (29:0,29) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[text];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 7 - (36:0,36)
Transition span - Gen<None> - [</text>] - SpanEditHandler;Accepts:None - (36:0,36) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[text];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,23 @@
Markup block - Gen<None> - 14 - (0:0,0)
Tag block - Gen<None> - 3 - (0:0,0)
Markup span - Gen<Markup> - [<a>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[a];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 3 - (3:0,3)
Markup span - Gen<Markup> - [<b>] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[b];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 4 - (6:0,6)
Markup span - Gen<Markup> - [</b>] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[b];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 4 - (10:0,10)
Markup span - Gen<Markup> - [</a>] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[a];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1 @@
(1,2): Error RZ1024: End of file or an unexpected character was reached before the "br" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("<br />") or have matching end tags ("<p>Hello</p>"). If you intended to display a "<" character, use the "&lt;" HTML entity.

View File

@ -0,0 +1,6 @@
Markup block - Gen<None> - 4 - (0:0,0)
Tag block - Gen<None> - 4 - (0:0,0)
Markup span - Gen<Markup> - [<br/] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[br];
HtmlSymbolType.ForwardSlash;[/];

View File

@ -0,0 +1,9 @@
Markup block - Gen<None> - 9 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
HtmlSymbolType.Transition;[@];
MetaCode span - Gen<None> - [:] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:1
HtmlSymbolType.Colon;[:];
Markup span - Gen<Markup> - [foo bar] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:3
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar];

View File

@ -0,0 +1,13 @@
Markup block - Gen<None> - 12 - (0:0,0)
HtmlComment block - Gen<None> - 12 - (0:0,0)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [ foo ] - SpanEditHandler;Accepts:WhiteSpace - (4:0,4) - Symbols:3
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,14 @@
Markup block - Gen<None> - 13 - (0:0,0)
HtmlComment block - Gen<None> - 13 - (0:0,0)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [ foo -] - SpanEditHandler;Accepts:WhiteSpace - (4:0,4) - Symbols:4
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[-];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,28 @@
Markup block - Gen<None> - 30 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [bar] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1
HtmlSymbolType.Text;[bar];
HtmlComment block - Gen<None> - 13 - (8:0,8)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [ zoop ] - SpanEditHandler;Accepts:WhiteSpace - (12:0,12) - Symbols:3
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[zoop];
HtmlSymbolType.WhiteSpace;[ ];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [baz] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:1
HtmlSymbolType.Text;[baz];
Tag block - Gen<None> - 6 - (24:0,24)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,24 @@
Markup block - Gen<None> - 45 - (0:0,0)
Tag block - Gen<None> - 8 - (0:0,0)
Markup span - Gen<Markup> - [<script>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[script];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [if(foo<bar) { alert("baz");)] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:11
HtmlSymbolType.Text;[if(foo];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[bar)];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[{];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[alert(];
HtmlSymbolType.DoubleQuote;["];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.DoubleQuote;["];
HtmlSymbolType.Text;[);)];
Tag block - Gen<None> - 9 - (36:0,36)
Markup span - Gen<Markup> - [</script>] - SpanEditHandler;Accepts:None - (36:0,36) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[script];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,26 @@
Markup block - Gen<None> - 47 - (0:0,0)
Tag block - Gen<None> - 8 - (0:0,0)
Markup span - Gen<Markup> - [<script>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[script];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [if(foo < bar) { alert("baz");)] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:13
HtmlSymbolType.Text;[if(foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar)];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[{];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[alert(];
HtmlSymbolType.DoubleQuote;["];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.DoubleQuote;["];
HtmlSymbolType.Text;[);)];
Tag block - Gen<None> - 9 - (38:0,38)
Markup span - Gen<Markup> - [</script>] - SpanEditHandler;Accepts:None - (38:0,38) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[script];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,48 @@
Markup block - Gen<None> - 48 - (0:0,0)
Tag block - Gen<None> - 15 - (0:0,0)
Markup span - Gen<Markup> - [<foo] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:2
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
Markup block - Gen<Attr:bar, bar="@(4:0,4),"@(13:0,13)> - 10 - (4:0,4)
Markup span - Gen<None> - [ bar="] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:4
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.Equals;[=];
HtmlSymbolType.DoubleQuote;["];
Markup span - Gen<LitAttr:@(10:0,10)> - [baz] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1
HtmlSymbolType.Text;[baz];
Markup span - Gen<None> - ["] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1
HtmlSymbolType.DoubleQuote;["];
Markup span - Gen<Markup> - [>] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:1
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 5 - (15:0,15)
Markup span - Gen<Markup> - [<biz>] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[biz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 16 - (20:0,20)
Markup span - Gen<Markup> - [<boz] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:2
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[boz];
Markup block - Gen<Attr:zoop, zoop=@(24:0,24),@(34:0,34)> - 10 - (24:0,24)
Markup span - Gen<None> - [ zoop=] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:3
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[zoop];
HtmlSymbolType.Equals;[=];
Markup span - Gen<LitAttr:@(30:0,30)> - [zork] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:1
HtmlSymbolType.Text;[zork];
Markup span - Gen<Markup> - [/>] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:2
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (36:0,36)
Markup span - Gen<Markup> - [</biz>] - SpanEditHandler;Accepts:None - (36:0,36) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[biz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (42:0,42)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (42:0,42) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1 @@
(1,2): Error RZ1025: The "foo" element was not closed. All elements must be either self-closing or have a matching end tag.

View File

@ -0,0 +1,6 @@
Markup block - Gen<None> - 5 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,8 @@
Markup block - Gen<None> - 9 - (0:0,0)
Markup span - Gen<Markup> - [<!--<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:6
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,30 @@
Markup block - Gen<None> - 31 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
HtmlComment block - Gen<None> - 17 - (5:0,5)
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
Markup span - Gen<Markup> - [<foo></bar] - SpanEditHandler;Accepts:WhiteSpace - (9:0,9) - Symbols:6
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[bar];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (19:0,19) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:2
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (25:0,25)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,25 @@
Markup block - Gen<None> - 34 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [<!DOCTYPE foo bar>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:8
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.Text;[DOCTYPE];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [ baz>] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:3
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 6 - (28:0,28)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (28:0,28) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,27 @@
Markup block - Gen<None> - 34 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [<?xml foo bar baz?>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:11
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.QuestionMark;[?];
HtmlSymbolType.Text;[xml];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
HtmlSymbolType.QuestionMark;[?];
HtmlSymbolType.CloseAngle;[>];
Markup span - Gen<Markup> - [ baz] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:2
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[baz];
Tag block - Gen<None> - 6 - (28:0,28)
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (28:0,28) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1 @@
(1,2): Error RZ1025: The "foo" element was not closed. All elements must be either self-closing or have a matching end tag.

View File

@ -0,0 +1,17 @@
Markup block - Gen<None> - 18 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.CloseAngle;[>];
Tag block - Gen<None> - 13 - (5:0,5)
Markup span - Gen<Markup> - [</!-- bar -->] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:9
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.Bang;[!];
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.Text;[bar];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.DoubleHyphen;[--];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1,8 @@
Markup block - Gen<None> - 7 - (0:0,0)
Tag block - Gen<None> - 7 - (0:0,0)
Markup span - Gen<Markup> - [<foo />] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:5
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.Text;[foo];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.ForwardSlash;[/];
HtmlSymbolType.CloseAngle;[>];

View File

@ -0,0 +1 @@
(1,2): Error RZ1024: End of file or an unexpected character was reached before the "" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("<br />") or have matching end tags ("<p>Hello</p>"). If you intended to display a "<" character, use the "&lt;" HTML entity.

View File

@ -0,0 +1,7 @@
Markup block - Gen<None> - 28 - (0:0,0)
Tag block - Gen<None> - 28 - (0:0,0)
Markup span - Gen<Markup> - [< LF ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:4
HtmlSymbolType.OpenAngle;[<];
HtmlSymbolType.WhiteSpace;[ ];
HtmlSymbolType.NewLine;[LF];
HtmlSymbolType.WhiteSpace;[ ];

View File

@ -212,7 +212,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
{
directives = directives ?? Array.Empty<DirectiveDescriptor>();
var source = TestRazorSourceDocument.Create(document, filePath: null);
var source = TestRazorSourceDocument.Create(document, filePath: null, normalizeNewLines: UseBaselineTests);
var options = CreateParserOptions(version, directives, designTime);
var context = new ParserContext(source, options);