Skip to content
This repository was archived by the owner on Dec 19, 2018. It is now read-only.

New baselines for TagHelperParseTreeRewriterTest #2639

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,8 @@ private static bool ShouldDisplayNodeContent(SyntaxNode node)
node.Kind == SyntaxKind.MarkupTagBlock ||
node.Kind == SyntaxKind.MarkupAttributeBlock ||
node.Kind == SyntaxKind.MarkupMinimizedAttributeBlock ||
node.Kind == SyntaxKind.MarkupTagHelperAttribute ||
node.Kind == SyntaxKind.MarkupMinimizedTagHelperAttribute ||
node.Kind == SyntaxKind.MarkupLiteralAttributeValue ||
node.Kind == SyntaxKind.MarkupDynamicAttributeValue ||
node.Kind == SyntaxKind.CSharpStatementLiteral ||
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,6 @@ public TagHelperParseTreeRewriterTest()
UseNewSyntaxTree = true;
}

[Fact]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ignore. Just something I added in a previous commit.

public void TestTagHelpers()
{
UseNewSyntaxTree = false;
var document = "<p class=\"@btn\" />";
EvaluateData(PartialRequiredParentTags_Descriptors, document);
UseNewSyntaxTree = true;
}

public static TheoryData GetAttributeNameValuePairsData
{
get
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
Markup block - Gen<None> - 7 - (0:0,0)
Tag block - Gen<None> - 7 - (0:0,0)
Markup span - Gen<Markup> - [<th: />] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:5
SyntaxKind.OpenAngle;[<];
SyntaxKind.Text;[th:];
SyntaxKind.Whitespace;[ ];
SyntaxKind.ForwardSlash;[/];
SyntaxKind.CloseAngle;[>];
RazorDocument - [0..7)::7 - [<th: />]
MarkupBlock - [0..7)::7
MarkupTagBlock - [0..7)::7 - [<th: />]
MarkupTextLiteral - [0..7)::7 - [<th: />] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:];
Whitespace;[ ];
ForwardSlash;[/];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,13 +1,35 @@
Markup block - Gen<None> - 47 - (0:0,0)
Tag block - Gen<TagHelper> - 47 - (0:0,0) - th:myth - mythTagHelper
StartTagAndEndTag - <th:myth class="btn"> ... </th:myth>
class - DoubleQuotes
Markup span - Gen<Markup> - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1
SyntaxKind.Text;[btn];
SyntaxKind.HtmlTextLiteral - [words and spaces] - [21..37) - FullWidth: 16 - Slots: 1
SyntaxKind.List - [words and spaces] - [21..37) - FullWidth: 16 - Slots: 5
SyntaxKind.Text;[words];
SyntaxKind.Whitespace;[ ];
SyntaxKind.Text;[and];
SyntaxKind.Whitespace;[ ];
SyntaxKind.Text;[spaces];
RazorDocument - [0..47)::47 - [<th:myth class="btn">words and spaces</th:myth>]
MarkupBlock - [0..47)::47
MarkupTagHelperElement - [0..47)::47 - th:myth[StartTagAndEndTag] - mythTagHelper
MarkupTagHelperStartTag - [0..21)::21
MarkupTextLiteral - [0..8)::8 - [<th:myth] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:myth];
MarkupTagHelperAttribute - [8..20)::12 - class - DoubleQuotes - [ class="btn"]
MarkupTextLiteral - [8..9)::1 - [ ] - Gen<Markup> - SpanEditHandler;Accepts:Any
Whitespace;[ ];
MarkupTextLiteral - [9..14)::5 - [class] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[class];
Equals;[=];
MarkupTextLiteral - [15..16)::1 - ["] - Gen<None> - SpanEditHandler;Accepts:Any
DoubleQuote;["];
MarkupTagHelperAttributeValue - [16..19)::3
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note, the attibute value of tag helpers use a specific type (MarkupTagHelperAttributeValue) as opposed to using a GenericBlock.

MarkupLiteralAttributeValue - [16..19)::3 - [btn]
MarkupTextLiteral - [16..19)::3 - [btn] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[btn];
MarkupTextLiteral - [19..20)::1 - ["] - Gen<None> - SpanEditHandler;Accepts:Any
DoubleQuote;["];
MarkupTextLiteral - [20..21)::1 - [>] - Gen<Markup> - SpanEditHandler;Accepts:Any
CloseAngle;[>];
MarkupTextLiteral - [21..37)::16 - [words and spaces] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[words];
Whitespace;[ ];
Text;[and];
Whitespace;[ ];
Text;[spaces];
MarkupTagHelperEndTag - [37..47)::10
Copy link
Contributor Author

@ajaybhargavb ajaybhargavb Oct 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the main structural change. Tag helper end tags are now well represented in the tree.
I am currently not generating the corresponding classified spans for this to keep them consistent with the old tree. But ideally we should generate those. We should discuss this at some point. I've added it to the tracking list https://github.com/aspnet/Razor/issues/2619. @rynowak this is what I was trying to explain earlier.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the behaviour isn't changing right now, then that sounds great!

MarkupTextLiteral - [37..47)::10 - [</th:myth>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
ForwardSlash;[/];
Text;[th:myth];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,13 +1,34 @@
Markup block - Gen<None> - 34 - (0:0,0)
Tag block - Gen<TagHelper> - 34 - (0:0,0) - th:myth2 - mythTagHelper2
SelfClosing - <th:myth2 bound="@DateTime.Now" />
bound - DoubleQuotes
Markup block - Gen<None> - 13 - (17:0,17)
Markup block - Gen<None> - 13 - (17:0,17)
Expression block - Gen<Expr> - 13 - (17:0,17)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:1
SyntaxKind.Transition;[@];
Code span - Gen<Expr> - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Tokens:3
SyntaxKind.Identifier;[DateTime];
SyntaxKind.Dot;[.];
SyntaxKind.Identifier;[Now];
RazorDocument - [0..34)::34 - [<th:myth2 bound="@DateTime.Now" />]
MarkupBlock - [0..34)::34
MarkupTagHelperElement - [0..34)::34 - th:myth2[SelfClosing] - mythTagHelper2
MarkupTagHelperStartTag - [0..34)::34
MarkupTextLiteral - [0..9)::9 - [<th:myth2] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:myth2];
MarkupTagHelperAttribute - [9..31)::22 - bound - DoubleQuotes - [ bound="@DateTime.Now"]
MarkupTextLiteral - [9..10)::1 - [ ] - Gen<Markup> - SpanEditHandler;Accepts:Any
Whitespace;[ ];
MarkupTextLiteral - [10..15)::5 - [bound] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[bound];
Equals;[=];
MarkupTextLiteral - [16..17)::1 - ["] - Gen<None> - SpanEditHandler;Accepts:Any
DoubleQuote;["];
MarkupTagHelperAttributeValue - [17..30)::13
MarkupDynamicAttributeValue - [17..30)::13 - [@DateTime.Now]
GenericBlock - [17..30)::13
Copy link
Contributor Author

@ajaybhargavb ajaybhargavb Oct 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we discussed earlier, we will get rid of GenericBlock at some point. I've added that to the feedback list https://github.com/aspnet/Razor/issues/2619

CSharpCodeBlock - [17..30)::13
CSharpImplicitExpression - [17..30)::13
CSharpTransition - [17..18)::1 - Gen<None> - SpanEditHandler;Accepts:None
Transition;[@];
CSharpImplicitExpressionBody - [18..30)::12
CSharpCodeBlock - [18..30)::12
CSharpExpressionLiteral - [18..30)::12 - [DateTime.Now] - Gen<Expr> - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an example of where we rewrite the EditHandler and AcceptedCharacters for a bound non-string attribute. Before the rewrite the AcceptedCharacters for this would be NonWhitespace.

Identifier;[DateTime];
Dot;[.];
Identifier;[Now];
MarkupTextLiteral - [30..31)::1 - ["] - Gen<None> - SpanEditHandler;Accepts:Any
DoubleQuote;["];
MarkupTextLiteral - [31..34)::3 - [ />] - Gen<Markup> - SpanEditHandler;Accepts:Any
Whitespace;[ ];
ForwardSlash;[/];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
Markup block - Gen<None> - 27 - (0:0,0)
Tag block - Gen<None> - 5 - (0:0,0)
Markup span - Gen<Markup> - [<th:>] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3
SyntaxKind.OpenAngle;[<];
SyntaxKind.Text;[th:];
SyntaxKind.CloseAngle;[>];
SyntaxKind.HtmlTextLiteral - [words and spaces] - [5..21) - FullWidth: 16 - Slots: 1
SyntaxKind.List - [words and spaces] - [5..21) - FullWidth: 16 - Slots: 5
SyntaxKind.Text;[words];
SyntaxKind.Whitespace;[ ];
SyntaxKind.Text;[and];
SyntaxKind.Whitespace;[ ];
SyntaxKind.Text;[spaces];
Tag block - Gen<None> - 6 - (21:0,21)
Markup span - Gen<Markup> - [</th:>] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:4
SyntaxKind.OpenAngle;[<];
SyntaxKind.ForwardSlash;[/];
SyntaxKind.Text;[th:];
SyntaxKind.CloseAngle;[>];
RazorDocument - [0..27)::27 - [<th:>words and spaces</th:>]
MarkupBlock - [0..27)::27
MarkupTagBlock - [0..5)::5 - [<th:>]
MarkupTextLiteral - [0..5)::5 - [<th:>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:];
CloseAngle;[>];
MarkupTextLiteral - [5..21)::16 - [words and spaces] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[words];
Whitespace;[ ];
Text;[and];
Whitespace;[ ];
Text;[spaces];
MarkupTagBlock - [21..27)::6 - [</th:>]
MarkupTextLiteral - [21..27)::6 - [</th:>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
ForwardSlash;[/];
Text;[th:];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
Markup block - Gen<None> - 11 - (0:0,0)
Tag block - Gen<TagHelper> - 11 - (0:0,0) - th:myth - mythTagHelper
SelfClosing - <th:myth />
RazorDocument - [0..11)::11 - [<th:myth />]
MarkupBlock - [0..11)::11
MarkupTagHelperElement - [0..11)::11 - th:myth[SelfClosing] - mythTagHelper
MarkupTagHelperStartTag - [0..11)::11
MarkupTextLiteral - [0..11)::11 - [<th:myth />] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:myth];
Whitespace;[ ];
ForwardSlash;[/];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
Markup block - Gen<None> - 19 - (0:0,0)
Tag block - Gen<TagHelper> - 19 - (0:0,0) - th:myth - mythTagHelper
StartTagAndEndTag - <th:myth> ... </th:myth>
RazorDocument - [0..19)::19 - [<th:myth></th:myth>]
MarkupBlock - [0..19)::19
MarkupTagHelperElement - [0..19)::19 - th:myth[StartTagAndEndTag] - mythTagHelper
MarkupTagHelperStartTag - [0..9)::9
MarkupTextLiteral - [0..9)::9 - [<th:myth>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:myth];
CloseAngle;[>];
MarkupTagHelperEndTag - [9..19)::10
MarkupTextLiteral - [9..19)::10 - [</th:myth>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
ForwardSlash;[/];
Text;[th:myth];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,14 +1,25 @@
Markup block - Gen<None> - 40 - (0:0,0)
Tag block - Gen<TagHelper> - 40 - (0:0,0) - th:myth - mythTagHelper
StartTagAndEndTag - <th:myth> ... </th:myth>
Tag block - Gen<None> - 10 - (9:0,9)
Markup span - Gen<Markup> - [<th:my2th>] - SpanEditHandler;Accepts:Any - (9:0,9) - Tokens:3
SyntaxKind.OpenAngle;[<];
SyntaxKind.Text;[th:my2th];
SyntaxKind.CloseAngle;[>];
Tag block - Gen<None> - 11 - (19:0,19)
Markup span - Gen<Markup> - [</th:my2th>] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:4
SyntaxKind.OpenAngle;[<];
SyntaxKind.ForwardSlash;[/];
SyntaxKind.Text;[th:my2th];
SyntaxKind.CloseAngle;[>];
RazorDocument - [0..40)::40 - [<th:myth><th:my2th></th:my2th></th:myth>]
MarkupBlock - [0..40)::40
MarkupTagHelperElement - [0..40)::40 - th:myth[StartTagAndEndTag] - mythTagHelper
MarkupTagHelperStartTag - [0..9)::9
MarkupTextLiteral - [0..9)::9 - [<th:myth>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:myth];
CloseAngle;[>];
MarkupTagBlock - [9..19)::10 - [<th:my2th>]
MarkupTextLiteral - [9..19)::10 - [<th:my2th>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:my2th];
CloseAngle;[>];
MarkupTagBlock - [19..30)::11 - [</th:my2th>]
MarkupTextLiteral - [19..30)::11 - [</th:my2th>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
ForwardSlash;[/];
Text;[th:my2th];
CloseAngle;[>];
MarkupTagHelperEndTag - [30..40)::10
MarkupTextLiteral - [30..40)::10 - [</th:myth>] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
ForwardSlash;[/];
Text;[th:myth];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
Markup block - Gen<None> - 12 - (0:0,0)
Tag block - Gen<None> - 12 - (0:0,0)
Markup span - Gen<Markup> - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1
SyntaxKind.OpenAngle;[<];
MetaCode span - Gen<None> - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1
SyntaxKind.Bang;[!];
Markup span - Gen<Markup> - [th:myth />] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:4
SyntaxKind.Text;[th:myth];
SyntaxKind.Whitespace;[ ];
SyntaxKind.ForwardSlash;[/];
SyntaxKind.CloseAngle;[>];
RazorDocument - [0..12)::12 - [<!th:myth />]
MarkupBlock - [0..12)::12
MarkupTagBlock - [0..12)::12 - [<!th:myth />]
MarkupTextLiteral - [0..1)::1 - [<] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
RazorMetaCode - [1..2)::1 - Gen<None> - SpanEditHandler;Accepts:None
Bang;[!];
MarkupTextLiteral - [2..12)::10 - [th:myth />] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[th:myth];
Whitespace;[ ];
ForwardSlash;[/];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
Markup block - Gen<None> - 21 - (0:0,0)
Tag block - Gen<None> - 10 - (0:0,0)
Markup span - Gen<Markup> - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1
SyntaxKind.OpenAngle;[<];
MetaCode span - Gen<None> - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1
SyntaxKind.Bang;[!];
Markup span - Gen<Markup> - [th:myth>] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:2
SyntaxKind.Text;[th:myth];
SyntaxKind.CloseAngle;[>];
Tag block - Gen<None> - 11 - (10:0,10)
Markup span - Gen<Markup> - [</] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:2
SyntaxKind.OpenAngle;[<];
SyntaxKind.ForwardSlash;[/];
MetaCode span - Gen<None> - [!] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:1
SyntaxKind.Bang;[!];
Markup span - Gen<Markup> - [th:myth>] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:2
SyntaxKind.Text;[th:myth];
SyntaxKind.CloseAngle;[>];
RazorDocument - [0..21)::21 - [<!th:myth></!th:myth>]
MarkupBlock - [0..21)::21
MarkupTagBlock - [0..10)::10 - [<!th:myth>]
MarkupTextLiteral - [0..1)::1 - [<] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
RazorMetaCode - [1..2)::1 - Gen<None> - SpanEditHandler;Accepts:None
Bang;[!];
MarkupTextLiteral - [2..10)::8 - [th:myth>] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[th:myth];
CloseAngle;[>];
MarkupTagBlock - [10..21)::11 - [</!th:myth>]
MarkupTextLiteral - [10..12)::2 - [</] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
ForwardSlash;[/];
RazorMetaCode - [12..13)::1 - Gen<None> - SpanEditHandler;Accepts:None
Bang;[!];
MarkupTextLiteral - [13..21)::8 - [th:myth>] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[th:myth];
CloseAngle;[>];
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
Markup block - Gen<None> - 23 - (0:0,0)
Tag block - Gen<TagHelper> - 23 - (0:0,0) - th:myth - mythTagHelper
SelfClosing - <th:myth class="btn" />
class - DoubleQuotes
Markup span - Gen<Markup> - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1
SyntaxKind.Text;[btn];
RazorDocument - [0..23)::23 - [<th:myth class="btn" />]
MarkupBlock - [0..23)::23
MarkupTagHelperElement - [0..23)::23 - th:myth[SelfClosing] - mythTagHelper
MarkupTagHelperStartTag - [0..23)::23
MarkupTextLiteral - [0..8)::8 - [<th:myth] - Gen<Markup> - SpanEditHandler;Accepts:Any
OpenAngle;[<];
Text;[th:myth];
MarkupTagHelperAttribute - [8..20)::12 - class - DoubleQuotes - [ class="btn"]
MarkupTextLiteral - [8..9)::1 - [ ] - Gen<Markup> - SpanEditHandler;Accepts:Any
Whitespace;[ ];
MarkupTextLiteral - [9..14)::5 - [class] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[class];
Equals;[=];
MarkupTextLiteral - [15..16)::1 - ["] - Gen<None> - SpanEditHandler;Accepts:Any
DoubleQuote;["];
MarkupTagHelperAttributeValue - [16..19)::3
MarkupLiteralAttributeValue - [16..19)::3 - [btn]
MarkupTextLiteral - [16..19)::3 - [btn] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[btn];
MarkupTextLiteral - [19..20)::1 - ["] - Gen<None> - SpanEditHandler;Accepts:Any
DoubleQuote;["];
MarkupTextLiteral - [20..23)::3 - [ />] - Gen<Markup> - SpanEditHandler;Accepts:Any
Whitespace;[ ];
ForwardSlash;[/];
CloseAngle;[>];
Loading