Skip to content

Commit 8211dff

Browse files
author
N. Taylor Mullen
committed
Convert HtmlErrorTest to use baselines.
#2263
1 parent 275bc14 commit 8211dff

16 files changed

+121
-60
lines changed

test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlErrorTest.cs

Lines changed: 13 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -7,104 +7,57 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
77
{
88
public class HtmlErrorTest : CsHtmlMarkupParserTestBase
99
{
10+
public HtmlErrorTest()
11+
{
12+
UseBaselineTests = true;
13+
}
14+
1015
[Fact]
1116
public void ParseBlockAllowsInvalidTagNamesAsLongAsParserCanIdentifyEndTag()
1217
{
13-
ParseBlockTest("<1-foo+bar>foo</1-foo+bar>",
14-
new MarkupBlock(
15-
new MarkupTagBlock(
16-
Factory.Markup("<1-foo+bar>").Accepts(AcceptedCharactersInternal.None)),
17-
Factory.Markup("foo"),
18-
new MarkupTagBlock(
19-
Factory.Markup("</1-foo+bar>").Accepts(AcceptedCharactersInternal.None))));
18+
ParseBlockTest("<1-foo+bar>foo</1-foo+bar>");
2019
}
2120

2221
[Fact]
2322
public void ParseBlockThrowsErrorIfStartTextTagContainsTextAfterName()
2423
{
25-
ParseBlockTest("<text foo bar></text>",
26-
new MarkupBlock(
27-
new MarkupTagBlock(
28-
Factory.MarkupTransition("<text foo bar>").Accepts(AcceptedCharactersInternal.Any)),
29-
new MarkupTagBlock(
30-
Factory.MarkupTransition("</text>"))),
31-
RazorDiagnosticFactory.CreateParsing_TextTagCannotContainAttributes(
32-
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 4)));
24+
ParseBlockTest("<text foo bar></text>");
3325
}
3426

3527
[Fact]
3628
public void ParseBlockThrowsErrorIfEndTextTagContainsTextAfterName()
3729
{
38-
ParseBlockTest("<text></text foo bar>",
39-
new MarkupBlock(
40-
new MarkupTagBlock(
41-
Factory.MarkupTransition("<text>")),
42-
new MarkupTagBlock(
43-
Factory.MarkupTransition("</text foo bar>").Accepts(AcceptedCharactersInternal.Any))),
44-
RazorDiagnosticFactory.CreateParsing_TextTagCannotContainAttributes(
45-
new SourceSpan(new SourceLocation(8, 0, 8), contentLength: 4)));
30+
ParseBlockTest("<text></text foo bar>");
4631
}
4732

4833
[Fact]
4934
public void ParseBlockThrowsExceptionIfBlockDoesNotStartWithTag()
5035
{
51-
ParseBlockTest("foo bar <baz>",
52-
new MarkupBlock(),
53-
RazorDiagnosticFactory.CreateParsing_MarkupBlockMustStartWithTag(
54-
new SourceSpan(SourceLocation.Zero, contentLength: 3)));
36+
ParseBlockTest("foo bar <baz>");
5537
}
5638

5739
[Fact]
5840
public void ParseBlockStartingWithEndTagProducesRazorErrorThenOutputsMarkupSegmentAndEndsBlock()
5941
{
60-
ParseBlockTest("</foo> bar baz",
61-
new MarkupBlock(
62-
new MarkupTagBlock(
63-
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None)),
64-
Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)),
65-
RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag(
66-
new SourceSpan(new SourceLocation(2, 0, 2), contentLength: 3), "foo"));
42+
ParseBlockTest("</foo> bar baz");
6743
}
6844

6945
[Fact]
7046
public void ParseBlockWithUnclosedTopLevelTagThrowsMissingEndTagParserExceptionOnOutermostUnclosedTag()
7147
{
72-
ParseBlockTest("<p><foo></bar>",
73-
new MarkupBlock(
74-
new MarkupTagBlock(
75-
Factory.Markup("<p>").Accepts(AcceptedCharactersInternal.None)),
76-
new MarkupTagBlock(
77-
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
78-
new MarkupTagBlock(
79-
Factory.Markup("</bar>").Accepts(AcceptedCharactersInternal.None))),
80-
RazorDiagnosticFactory.CreateParsing_MissingEndTag(
81-
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"));
48+
ParseBlockTest("<p><foo></bar>");
8249
}
8350

8451
[Fact]
8552
public void ParseBlockWithUnclosedTagAtEOFThrowsMissingEndTagException()
8653
{
87-
ParseBlockTest("<foo>blah blah blah blah blah",
88-
new MarkupBlock(
89-
new MarkupTagBlock(
90-
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
91-
Factory.Markup("blah blah blah blah blah")),
92-
RazorDiagnosticFactory.CreateParsing_MissingEndTag(
93-
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 3), "foo"));
54+
ParseBlockTest("<foo>blah blah blah blah blah");
9455
}
9556

9657
[Fact]
9758
public void ParseBlockWithUnfinishedTagAtEOFThrowsIncompleteTagException()
9859
{
99-
ParseBlockTest("<foo bar=baz",
100-
new MarkupBlock(
101-
new MarkupTagBlock(
102-
Factory.Markup("<foo"),
103-
new MarkupBlock(new AttributeBlockChunkGenerator("bar", new LocationTagged<string>(" bar=", 4, 0, 4), new LocationTagged<string>(string.Empty, 12, 0, 12)),
104-
Factory.Markup(" bar=").With(SpanChunkGenerator.Null),
105-
Factory.Markup("baz").With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 9, 0, 9), new LocationTagged<string>("baz", 9, 0, 9)))))),
106-
RazorDiagnosticFactory.CreateParsing_UnfinishedTag(
107-
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 3), "foo"));
60+
ParseBlockTest("<foo bar=baz");
10861
}
10962
}
11063
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Markup block - Gen<None> - 26 - (0:0,0)
2+
Tag block - Gen<None> - 11 - (0:0,0)
3+
Markup span - Gen<Markup> - [<1-foo+bar>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
4+
HtmlSymbolType.OpenAngle;[<];
5+
HtmlSymbolType.Text;[1-foo+bar];
6+
HtmlSymbolType.CloseAngle;[>];
7+
Markup span - Gen<Markup> - [foo] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1
8+
HtmlSymbolType.Text;[foo];
9+
Tag block - Gen<None> - 12 - (14:0,14)
10+
Markup span - Gen<Markup> - [</1-foo+bar>] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:4
11+
HtmlSymbolType.OpenAngle;[<];
12+
HtmlSymbolType.ForwardSlash;[/];
13+
HtmlSymbolType.Text;[1-foo+bar];
14+
HtmlSymbolType.CloseAngle;[>];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(1,3): Error RZ1026: Encountered end tag "foo" with no matching start tag. Are your start/end tags properly balanced?
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Markup block - Gen<None> - 7 - (0:0,0)
2+
Tag block - Gen<None> - 6 - (0:0,0)
3+
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:4
4+
HtmlSymbolType.OpenAngle;[<];
5+
HtmlSymbolType.ForwardSlash;[/];
6+
HtmlSymbolType.Text;[foo];
7+
HtmlSymbolType.CloseAngle;[>];
8+
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1
9+
HtmlSymbolType.WhiteSpace;[ ];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(1,9): Error RZ1023: "<text>" and "</text>" tags cannot contain attributes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Markup block - Gen<None> - 21 - (0:0,0)
2+
Tag block - Gen<None> - 6 - (0:0,0)
3+
Transition span - Gen<None> - [<text>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
4+
HtmlSymbolType.OpenAngle;[<];
5+
HtmlSymbolType.Text;[text];
6+
HtmlSymbolType.CloseAngle;[>];
7+
Tag block - Gen<None> - 15 - (6:0,6)
8+
Transition span - Gen<None> - [</text foo bar>] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:8
9+
HtmlSymbolType.OpenAngle;[<];
10+
HtmlSymbolType.ForwardSlash;[/];
11+
HtmlSymbolType.Text;[text];
12+
HtmlSymbolType.WhiteSpace;[ ];
13+
HtmlSymbolType.Text;[foo];
14+
HtmlSymbolType.WhiteSpace;[ ];
15+
HtmlSymbolType.Text;[bar];
16+
HtmlSymbolType.CloseAngle;[>];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(1,2): Error RZ1023: "<text>" and "</text>" tags cannot contain attributes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Markup block - Gen<None> - 21 - (0:0,0)
2+
Tag block - Gen<None> - 14 - (0:0,0)
3+
Transition span - Gen<None> - [<text foo bar>] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:7
4+
HtmlSymbolType.OpenAngle;[<];
5+
HtmlSymbolType.Text;[text];
6+
HtmlSymbolType.WhiteSpace;[ ];
7+
HtmlSymbolType.Text;[foo];
8+
HtmlSymbolType.WhiteSpace;[ ];
9+
HtmlSymbolType.Text;[bar];
10+
HtmlSymbolType.CloseAngle;[>];
11+
Tag block - Gen<None> - 7 - (14:0,14)
12+
Transition span - Gen<None> - [</text>] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:4
13+
HtmlSymbolType.OpenAngle;[<];
14+
HtmlSymbolType.ForwardSlash;[/];
15+
HtmlSymbolType.Text;[text];
16+
HtmlSymbolType.CloseAngle;[>];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(1,1): Error RZ1021: Markup in a code block must start with a tag and all start tags must be matched with end tags. Do not use unclosed tags like "<br>". Instead use self-closing tags like "<br/>".
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Markup block - Gen<None> - 0 - (0:0,0)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(1,2): Error RZ1025: The "foo" element was not closed. All elements must be either self-closing or have a matching end tag.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Markup block - Gen<None> - 29 - (0:0,0)
2+
Tag block - Gen<None> - 5 - (0:0,0)
3+
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
4+
HtmlSymbolType.OpenAngle;[<];
5+
HtmlSymbolType.Text;[foo];
6+
HtmlSymbolType.CloseAngle;[>];
7+
Markup span - Gen<Markup> - [blah blah blah blah blah] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:9
8+
HtmlSymbolType.Text;[blah];
9+
HtmlSymbolType.WhiteSpace;[ ];
10+
HtmlSymbolType.Text;[blah];
11+
HtmlSymbolType.WhiteSpace;[ ];
12+
HtmlSymbolType.Text;[blah];
13+
HtmlSymbolType.WhiteSpace;[ ];
14+
HtmlSymbolType.Text;[blah];
15+
HtmlSymbolType.WhiteSpace;[ ];
16+
HtmlSymbolType.Text;[blah];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(1,2): Error RZ1025: The "p" element was not closed. All elements must be either self-closing or have a matching end tag.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Markup block - Gen<None> - 14 - (0:0,0)
2+
Tag block - Gen<None> - 3 - (0:0,0)
3+
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
4+
HtmlSymbolType.OpenAngle;[<];
5+
HtmlSymbolType.Text;[p];
6+
HtmlSymbolType.CloseAngle;[>];
7+
Tag block - Gen<None> - 5 - (3:0,3)
8+
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:3
9+
HtmlSymbolType.OpenAngle;[<];
10+
HtmlSymbolType.Text;[foo];
11+
HtmlSymbolType.CloseAngle;[>];
12+
Tag block - Gen<None> - 6 - (8:0,8)
13+
Markup span - Gen<Markup> - [</bar>] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:4
14+
HtmlSymbolType.OpenAngle;[<];
15+
HtmlSymbolType.ForwardSlash;[/];
16+
HtmlSymbolType.Text;[bar];
17+
HtmlSymbolType.CloseAngle;[>];
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(1,2): Error RZ1024: End of file or an unexpected character was reached before the "foo" 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.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Markup block - Gen<None> - 12 - (0:0,0)
2+
Tag block - Gen<None> - 12 - (0:0,0)
3+
Markup span - Gen<Markup> - [<foo] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:2
4+
HtmlSymbolType.OpenAngle;[<];
5+
HtmlSymbolType.Text;[foo];
6+
Markup block - Gen<Attr:bar, bar=@(4:0,4),@(12:0,12)> - 8 - (4:0,4)
7+
Markup span - Gen<None> - [ bar=] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:3
8+
HtmlSymbolType.WhiteSpace;[ ];
9+
HtmlSymbolType.Text;[bar];
10+
HtmlSymbolType.Equals;[=];
11+
Markup span - Gen<LitAttr:@(9:0,9)> - [baz] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1
12+
HtmlSymbolType.Text;[baz];

0 commit comments

Comments
 (0)