diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlDocumentTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlDocumentTest.cs
index b7f5eeb87d..7929c9a14c 100644
--- a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlDocumentTest.cs
+++ b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlDocumentTest.cs
@@ -12,92 +12,45 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
{
private static readonly TestFile Nested1000 = TestFile.Create("TestFiles/nested-1000.html", typeof(HtmlDocumentTest));
+ public HtmlDocumentTest()
+ {
+ UseBaselineTests = true;
+ }
+
[Fact]
public void ParseDocument_NestedCodeBlockWithMarkupSetsDotAsMarkup()
{
- ParseDocumentTest("@if (true) { @if(false) {
@something.
} }",
- new MarkupBlock(
- Factory.EmptyHtml(),
- new StatementBlock(
- Factory.CodeTransition(),
- Factory.Code("if (true) { ").AsStatement(),
- new StatementBlock(
- Factory.CodeTransition(),
- Factory.Code("if(false) {").AsStatement(),
- new MarkupBlock(
- Factory.Markup(" "),
- BlockFactory.MarkupTagBlock("", AcceptedCharactersInternal.None),
- Factory.EmptyHtml(),
- new ExpressionBlock(
- Factory.CodeTransition(),
- Factory.Code("something")
- .AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: false)
- .Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
- Factory.Markup("."),
- BlockFactory.MarkupTagBlock("
", AcceptedCharactersInternal.None),
- Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)),
- Factory.Code("}").AsStatement()),
- Factory.Code(" }").AsStatement())));
+ ParseDocumentTest("@if (true) { @if(false) { @something.
} }");
}
[Fact]
public void ParseDocumentOutputsEmptyBlockWithEmptyMarkupSpanIfContentIsEmptyString()
{
- ParseDocumentTest(string.Empty, new MarkupBlock(Factory.EmptyHtml()));
+ ParseDocumentTest(string.Empty);
}
[Fact]
public void ParseDocumentOutputsWhitespaceOnlyContentAsSingleWhitespaceMarkupSpan()
{
- SingleSpanDocumentTest(" ", BlockKindInternal.Markup, SpanKindInternal.Markup);
+ ParseDocumentTest(" ");
}
[Fact]
public void ParseDocumentAcceptsSwapTokenAtEndOfFileAndOutputsZeroLengthCodeSpan()
{
- ParseDocumentTest("@",
- new MarkupBlock(
- Factory.EmptyHtml(),
- new ExpressionBlock(
- Factory.CodeTransition(),
- Factory.EmptyCSharp()
- .AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
- .Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
- Factory.EmptyHtml()),
- RazorDiagnosticFactory.CreateParsing_UnexpectedEndOfFileAtStartOfCodeBlock(
- new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1)));
+ ParseDocumentTest("@");
}
[Fact]
public void ParseDocumentCorrectlyHandlesOddlySpacedHTMLElements()
{
- ParseDocumentTest("",
- new MarkupBlock(
- BlockFactory.MarkupTagBlock(""),
- new MarkupTagBlock(
- Factory.Markup("
(" class = '", 8, 0, 8), suffix: new LocationTagged("'", 21, 0, 21)),
- Factory.Markup(" class = '").With(SpanChunkGenerator.Null),
- Factory.Markup("bar").With(new LiteralAttributeChunkGenerator(prefix: new LocationTagged(string.Empty, 18, 0, 18), value: new LocationTagged("bar", 18, 0, 18))),
- Factory.Markup("'").With(SpanChunkGenerator.Null)),
- Factory.Markup(">")),
- Factory.Markup(" Foo "),
- BlockFactory.MarkupTagBlock("
"),
- BlockFactory.MarkupTagBlock("
")));
+ ParseDocumentTest("");
}
[Fact]
public void ParseDocumentCorrectlyHandlesSingleLineOfMarkupWithEmbeddedStatement()
{
- ParseDocumentTest("Foo @if(true) {} Bar
",
- new MarkupBlock(
- BlockFactory.MarkupTagBlock(""),
- Factory.Markup("Foo "),
- new StatementBlock(
- Factory.CodeTransition(),
- Factory.Code("if(true) {}").AsStatement()),
- Factory.Markup(" Bar"),
- BlockFactory.MarkupTagBlock("
")));
+ ParseDocumentTest("Foo @if(true) {} Bar
");
}
[Fact]
@@ -106,367 +59,139 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
ParseDocumentTest("@section Foo {" + Environment.NewLine
+ " " + Environment.NewLine
+ "}",
- new[] { SectionDirective.Directive, },
- new MarkupBlock(
- Factory.EmptyHtml(),
- new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
- Factory.CodeTransition(),
- Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
- Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
- Factory.Span(SpanKindInternal.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
- Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
- Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
- new MarkupBlock(
- Factory.Markup(Environment.NewLine + " "),
- BlockFactory.MarkupTagBlock(""),
- BlockFactory.MarkupTagBlock(""),
- Factory.Markup(Environment.NewLine)),
- Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
- Factory.EmptyHtml()));
+ new[] { SectionDirective.Directive, });
}
[Fact]
public void ParseDocumentParsesWholeContentAsOneSpanIfNoSwapCharacterEncountered()
{
- SingleSpanDocumentTest("foo baz", BlockKindInternal.Markup, SpanKindInternal.Markup);
+ ParseDocumentTest("foo baz");
}
[Fact]
public void ParseDocumentHandsParsingOverToCodeParserWhenAtSignEncounteredAndEmitsOutput()
{
- ParseDocumentTest("foo @bar baz",
- new MarkupBlock(
- Factory.Markup("foo "),
- new ExpressionBlock(
- Factory.CodeTransition(),
- Factory.Code("bar")
- .AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
- .Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
- Factory.Markup(" baz")));
+ ParseDocumentTest("foo @bar baz");
}
[Fact]
public void ParseDocumentEmitsAtSignAsMarkupIfAtEndOfFile()
{
- ParseDocumentTest("foo @",
- new MarkupBlock(
- Factory.Markup("foo "),
- new ExpressionBlock(
- Factory.CodeTransition(),
- Factory.EmptyCSharp()
- .AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
- .Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
- Factory.EmptyHtml()),
- RazorDiagnosticFactory.CreateParsing_UnexpectedEndOfFileAtStartOfCodeBlock(
- new SourceSpan(new SourceLocation(5, 0, 5), contentLength: 1)));
+ ParseDocumentTest("foo @");
}
[Fact]
public void ParseDocumentEmitsCodeBlockIfFirstCharacterIsSwapCharacter()
{
- ParseDocumentTest("@bar",
- new MarkupBlock(
- Factory.EmptyHtml(),
- new ExpressionBlock(
- Factory.CodeTransition(),
- Factory.Code("bar")
- .AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
- .Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
- Factory.EmptyHtml()));
+ ParseDocumentTest("@bar");
}
[Fact]
public void ParseDocumentDoesNotSwitchToCodeOnEmailAddressInText()
{
- SingleSpanDocumentTest("anurse@microsoft.com", BlockKindInternal.Markup, SpanKindInternal.Markup);
+ ParseDocument("example@microsoft.com");
}
[Fact]
public void ParseDocumentDoesNotSwitchToCodeOnEmailAddressInAttribute()
{
- ParseDocumentTest("Email me",
- new MarkupBlock(
- new MarkupTagBlock(
- Factory.Markup("(" href=\"", 2, 0, 2), new LocationTagged("\"", 36, 0, 36)),
- Factory.Markup(" href=\"").With(SpanChunkGenerator.Null),
- Factory.Markup("mailto:anurse@microsoft.com")
- .With(new LiteralAttributeChunkGenerator(new LocationTagged(string.Empty, 9, 0, 9), new LocationTagged("mailto:anurse@microsoft.com", 9, 0, 9))),
- Factory.Markup("\"").With(SpanChunkGenerator.Null)),
- Factory.Markup(">")),
- Factory.Markup("Email me"),
- BlockFactory.MarkupTagBlock("")));
+ ParseDocumentTest("Email me");
}
[Fact]
public void ParseDocumentDoesNotReturnErrorOnMismatchedTags()
{
- ParseDocumentTest("Foo Baz",
- new MarkupBlock(
- Factory.Markup("Foo "),
- BlockFactory.MarkupTagBlock("
"),
- BlockFactory.MarkupTagBlock("
"),
- BlockFactory.MarkupTagBlock("
"),
- BlockFactory.MarkupTagBlock(""),
- Factory.Markup(" Baz")));
+ ParseDocumentTest("Foo
Baz");
}
[Fact]
public void ParseDocumentReturnsOneMarkupSegmentIfNoCodeBlocksEncountered()
{
- ParseDocumentTest("Foo BazBarBar] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:2
+ HtmlSymbolType.DoubleHyphen;[--];
+ HtmlSymbolType.CloseAngle;[>];
+ Markup span - Gen
- [Bar] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1
+ HtmlSymbolType.Text;[Bar];
+ Markup span - Gen - [