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

Commit 2467e0f

Browse files
committed
Test changes
- Update parser test infrastructure - Update tests - Regenerated baselines - Removed unused legacy types
1 parent 57b9edc commit 2467e0f

File tree

1,361 files changed

+38116
-28491
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,361 files changed

+38116
-28491
lines changed

test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Test/TestFiles/IntegrationTests/InstrumentationPassIntegrationTest/BasicTest.codegen.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Razor
88
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"78993008d95836bec2b9175d4294bf7bd5f5f109", @"/TestFiles/IntegrationTests/InstrumentationPassIntegrationTest/BasicTest.cshtml")]
99
public class Template
1010
{
11-
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", "Hello", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
11+
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", "Hello", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.NoQuotes);
1212
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("text"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
1313
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("unbound", new global::Microsoft.AspNetCore.Html.HtmlString("foo"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
1414
#line hidden

test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Test/TestFiles/IntegrationTests/InstrumentationPassIntegrationTest/BasicTest.ir.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Document -
33
NamespaceDeclaration - - Razor
44
RazorSourceChecksumAttribute -
55
ClassDeclaration - - public - Template - -
6-
PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - value - Hello - HtmlAttributeValueStyle.DoubleQuotes
6+
PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - value - Hello - HtmlAttributeValueStyle.NoQuotes
77
PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - type - text - HtmlAttributeValueStyle.SingleQuotes
88
PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - unbound - foo - HtmlAttributeValueStyle.DoubleQuotes
99
DefaultTagHelperRuntime -

test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Version2_X.Test/TestFiles/IntegrationTests/InstrumentationPassIntegrationTest/BasicTest.codegen.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Razor
88
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"78993008d95836bec2b9175d4294bf7bd5f5f109", @"/TestFiles/IntegrationTests/InstrumentationPassIntegrationTest/BasicTest.cshtml")]
99
public class Template
1010
{
11-
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", "Hello", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
11+
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", "Hello", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.NoQuotes);
1212
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("text"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
1313
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("unbound", new global::Microsoft.AspNetCore.Html.HtmlString("foo"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
1414
#line hidden

test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Version2_X.Test/TestFiles/IntegrationTests/InstrumentationPassIntegrationTest/BasicTest.ir.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Document -
33
NamespaceDeclaration - - Razor
44
RazorSourceChecksumAttribute -
55
ClassDeclaration - - public - Template - -
6-
PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - value - Hello - HtmlAttributeValueStyle.DoubleQuotes
6+
PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - value - Hello - HtmlAttributeValueStyle.NoQuotes
77
PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - type - text - HtmlAttributeValueStyle.SingleQuotes
88
PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - unbound - foo - HtmlAttributeValueStyle.DoubleQuotes
99
DefaultTagHelperRuntime -

test/Microsoft.AspNetCore.Razor.Language.Test/DefaultRazorTagHelperBinderPhaseTest.cs

Lines changed: 40 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Collections.Generic;
66
using System.Linq;
77
using Microsoft.AspNetCore.Razor.Language.Legacy;
8+
using Microsoft.AspNetCore.Razor.Language.Syntax;
89
using Xunit;
910

1011
namespace Microsoft.AspNetCore.Razor.Language
@@ -45,8 +46,8 @@ public void Execute_CanHandleSingleLengthAddTagHelperDirective()
4546

4647
// Assert
4748
var rewrittenTree = codeDocument.GetSyntaxTree();
48-
var directiveValue = rewrittenTree.Root.Children.OfType<Block>().First().Children.Last() as Span;
49-
var chunkGenerator = Assert.IsType<AddTagHelperChunkGenerator>(directiveValue.ChunkGenerator);
49+
var erroredNode = rewrittenTree.Root.DescendantNodes().First(n => n.GetSpanContext()?.ChunkGenerator is AddTagHelperChunkGenerator);
50+
var chunkGenerator = Assert.IsType<AddTagHelperChunkGenerator>(erroredNode.GetSpanContext().ChunkGenerator);
5051
Assert.Equal(expectedDiagnostics, chunkGenerator.Diagnostics);
5152
}
5253

@@ -84,8 +85,8 @@ public void Execute_CanHandleSingleLengthRemoveTagHelperDirective()
8485

8586
// Assert
8687
var rewrittenTree = codeDocument.GetSyntaxTree();
87-
var directiveValue = rewrittenTree.Root.Children.OfType<Block>().First().Children.Last() as Span;
88-
var chunkGenerator = Assert.IsType<RemoveTagHelperChunkGenerator>(directiveValue.ChunkGenerator);
88+
var erroredNode = rewrittenTree.Root.DescendantNodes().First(n => n.GetSpanContext()?.ChunkGenerator is RemoveTagHelperChunkGenerator);
89+
var chunkGenerator = Assert.IsType<RemoveTagHelperChunkGenerator>(erroredNode.GetSpanContext().ChunkGenerator);
8990
Assert.Equal(expectedDiagnostics, chunkGenerator.Diagnostics);
9091
}
9192

@@ -123,8 +124,8 @@ public void Execute_CanHandleSingleLengthTagHelperPrefix()
123124

124125
// Assert
125126
var rewrittenTree = codeDocument.GetSyntaxTree();
126-
var directiveValue = rewrittenTree.Root.Children.OfType<Block>().First().Children.Last() as Span;
127-
var chunkGenerator = Assert.IsType<TagHelperPrefixDirectiveChunkGenerator>(directiveValue.ChunkGenerator);
127+
var erroredNode = rewrittenTree.Root.DescendantNodes().First(n => n.GetSpanContext()?.ChunkGenerator is TagHelperPrefixDirectiveChunkGenerator);
128+
var chunkGenerator = Assert.IsType<TagHelperPrefixDirectiveChunkGenerator>(erroredNode.GetSpanContext().ChunkGenerator);
128129
Assert.Equal(expectedDiagnostics, chunkGenerator.Diagnostics);
129130
}
130131

@@ -162,13 +163,11 @@ public void Execute_RewritesTagHelpers()
162163

163164
// Assert
164165
var rewrittenTree = codeDocument.GetSyntaxTree();
166+
var descendantNodes = rewrittenTree.Root.DescendantNodes();
165167
Assert.Empty(rewrittenTree.Diagnostics);
166-
Assert.Equal(3, rewrittenTree.Root.Children.Count);
167-
var formTagHelper = Assert.IsType<TagHelperBlock>(rewrittenTree.Root.Children[2]);
168-
Assert.Equal("form", formTagHelper.TagName);
169-
Assert.Equal(3, formTagHelper.Children.Count);
170-
var inputTagHelper = Assert.IsType<TagHelperBlock>(formTagHelper.Children[1]);
171-
Assert.Equal("input", inputTagHelper.TagName);
168+
var tagHelperNodes = descendantNodes.Where(n => n is MarkupTagHelperElementSyntax tagHelper).Cast<MarkupTagHelperElementSyntax>().ToArray();
169+
Assert.Equal("form", tagHelperNodes[0].TagHelperInfo.TagName);
170+
Assert.Equal("input", tagHelperNodes[1].TagHelperInfo.TagName);
172171
}
173172

174173
[Fact]
@@ -204,13 +203,11 @@ public void Execute_WithTagHelperDescriptorsFromCodeDocument_RewritesTagHelpers(
204203

205204
// Assert
206205
var rewrittenTree = codeDocument.GetSyntaxTree();
206+
var descendantNodes = rewrittenTree.Root.DescendantNodes();
207207
Assert.Empty(rewrittenTree.Diagnostics);
208-
Assert.Equal(3, rewrittenTree.Root.Children.Count);
209-
var formTagHelper = Assert.IsType<TagHelperBlock>(rewrittenTree.Root.Children[2]);
210-
Assert.Equal("form", formTagHelper.TagName);
211-
Assert.Equal(3, formTagHelper.Children.Count);
212-
var inputTagHelper = Assert.IsType<TagHelperBlock>(formTagHelper.Children[1]);
213-
Assert.Equal("input", inputTagHelper.TagName);
208+
var tagHelperNodes = descendantNodes.Where(n => n is MarkupTagHelperElementSyntax tagHelper).Cast<MarkupTagHelperElementSyntax>().ToArray();
209+
Assert.Equal("form", tagHelperNodes[0].TagHelperInfo.TagName);
210+
Assert.Equal("input", tagHelperNodes[1].TagHelperInfo.TagName);
214211
}
215212

216213
[Fact]
@@ -246,13 +243,11 @@ public void Execute_NullTagHelperDescriptorsFromCodeDocument_FallsBackToTagHelpe
246243

247244
// Assert
248245
var rewrittenTree = codeDocument.GetSyntaxTree();
246+
var descendantNodes = rewrittenTree.Root.DescendantNodes();
249247
Assert.Empty(rewrittenTree.Diagnostics);
250-
Assert.Equal(3, rewrittenTree.Root.Children.Count);
251-
var formTagHelper = Assert.IsType<TagHelperBlock>(rewrittenTree.Root.Children[2]);
252-
Assert.Equal("form", formTagHelper.TagName);
253-
Assert.Equal(3, formTagHelper.Children.Count);
254-
var inputTagHelper = Assert.IsType<TagHelperBlock>(formTagHelper.Children[1]);
255-
Assert.Equal("input", inputTagHelper.TagName);
248+
var tagHelperNodes = descendantNodes.Where(n => n is MarkupTagHelperElementSyntax tagHelper).Cast<MarkupTagHelperElementSyntax>().ToArray();
249+
Assert.Equal("form", tagHelperNodes[0].TagHelperInfo.TagName);
250+
Assert.Equal("input", tagHelperNodes[1].TagHelperInfo.TagName);
256251
}
257252

258253
[Fact]
@@ -288,10 +283,10 @@ public void Execute_EmptyTagHelperDescriptorsFromCodeDocument_DoesNotFallbackToT
288283

289284
// Assert
290285
var rewrittenTree = codeDocument.GetSyntaxTree();
286+
var descendantNodes = rewrittenTree.Root.DescendantNodes();
291287
Assert.Empty(rewrittenTree.Diagnostics);
292-
Assert.Equal(7, rewrittenTree.Root.Children.Count);
293-
var rewrittenNodes = rewrittenTree.Root.Children.OfType<TagHelperBlock>();
294-
Assert.Empty(rewrittenNodes);
288+
var tagHelperNodes = descendantNodes.Where(n => n is MarkupTagHelperElementSyntax tagHelper).Cast<MarkupTagHelperElementSyntax>().ToArray();
289+
Assert.Empty(tagHelperNodes);
295290
}
296291

297292
[Fact]
@@ -339,12 +334,13 @@ public void Execute_DirectiveWithoutQuotes_RewritesTagHelpers_TagHelperMatchesEl
339334

340335
// Assert
341336
var rewrittenTree = codeDocument.GetSyntaxTree();
337+
var descendantNodes = rewrittenTree.Root.DescendantNodes();
342338
Assert.Empty(rewrittenTree.Diagnostics);
343-
Assert.Equal(3, rewrittenTree.Root.Children.Count);
339+
var tagHelperNodes = descendantNodes.Where(n => n is MarkupTagHelperElementSyntax tagHelper).Cast<MarkupTagHelperElementSyntax>().ToArray();
344340

345-
var formTagHelper = Assert.IsType<TagHelperBlock>(rewrittenTree.Root.Children[2]);
346-
Assert.Equal("form", formTagHelper.TagName);
347-
Assert.Equal(2, formTagHelper.Binding.GetBoundRules(descriptor).Count());
341+
var formTagHelper = Assert.Single(tagHelperNodes);
342+
Assert.Equal("form", formTagHelper.TagHelperInfo.TagName);
343+
Assert.Equal(2, formTagHelper.TagHelperInfo.BindingResult.GetBoundRules(descriptor).Count());
348344
}
349345

350346
[Fact]
@@ -392,12 +388,13 @@ public void Execute_DirectiveWithQuotes_RewritesTagHelpers_TagHelperMatchesEleme
392388

393389
// Assert
394390
var rewrittenTree = codeDocument.GetSyntaxTree();
391+
var descendantNodes = rewrittenTree.Root.DescendantNodes();
395392
Assert.Empty(rewrittenTree.Diagnostics);
396-
Assert.Equal(3, rewrittenTree.Root.Children.Count);
393+
var tagHelperNodes = descendantNodes.Where(n => n is MarkupTagHelperElementSyntax tagHelper).Cast<MarkupTagHelperElementSyntax>().ToArray();
397394

398-
var formTagHelper = Assert.IsType<TagHelperBlock>(rewrittenTree.Root.Children[2]);
399-
Assert.Equal("form", formTagHelper.TagName);
400-
Assert.Equal(2, formTagHelper.Binding.GetBoundRules(descriptor).Count());
395+
var formTagHelper = Assert.Single(tagHelperNodes);
396+
Assert.Equal("form", formTagHelper.TagHelperInfo.TagName);
397+
Assert.Equal(2, formTagHelper.TagHelperInfo.BindingResult.GetBoundRules(descriptor).Count());
401398
}
402399

403400
[Fact]
@@ -437,15 +434,12 @@ public void Execute_TagHelpersFromCodeDocumentAndFeature_PrefersCodeDocument()
437434

438435
// Assert
439436
var rewrittenTree = codeDocument.GetSyntaxTree();
437+
var descendantNodes = rewrittenTree.Root.DescendantNodes();
440438
Assert.Empty(rewrittenTree.Diagnostics);
441-
Assert.Equal(3, rewrittenTree.Root.Children.Count);
442-
var formTagHelper = Assert.IsType<TagHelperBlock>(rewrittenTree.Root.Children[2]);
443-
Assert.Equal("form", formTagHelper.TagName);
444-
Assert.Collection(
445-
formTagHelper.Children,
446-
node => Assert.IsNotType<TagHelperBlock>(node),
447-
node => Assert.IsNotType<TagHelperBlock>(node),
448-
node => Assert.IsNotType<TagHelperBlock>(node));
439+
var tagHelperNodes = descendantNodes.Where(n => n is MarkupTagHelperElementSyntax tagHelper).Cast<MarkupTagHelperElementSyntax>().ToArray();
440+
441+
var formTagHelper = Assert.Single(tagHelperNodes);
442+
Assert.Equal("form", formTagHelper.TagHelperInfo.TagName);
449443
}
450444

451445
[Fact]
@@ -691,7 +685,7 @@ public void DirectiveVisitor_ExtractsPrefixFromSyntaxTree(
691685
var visitor = new DefaultRazorTagHelperBinderPhase.DirectiveVisitor(tagHelpers: new List<TagHelperDescriptor>());
692686

693687
// Act
694-
visitor.VisitBlock(syntaxTree.Root);
688+
visitor.Visit(syntaxTree.Root);
695689

696690
// Assert
697691
Assert.Equal(expectedPrefix, visitor.TagHelperPrefix);
@@ -857,7 +851,7 @@ public void DirectiveVisitor_FiltersTagHelpersByDirectives(
857851
var visitor = new DefaultRazorTagHelperBinderPhase.DirectiveVisitor((TagHelperDescriptor[])tagHelpers);
858852

859853
// Act
860-
visitor.VisitBlock(syntaxTree.Root);
854+
visitor.Visit(syntaxTree.Root);
861855

862856
// Assert
863857
Assert.Equal(expected.Count(), visitor.Matches.Count());
@@ -1001,7 +995,7 @@ public void ProcessDirectives_CanReturnEmptyDescriptorsBasedOnDirectiveDescripto
1001995
var visitor = new DefaultRazorTagHelperBinderPhase.DirectiveVisitor((TagHelperDescriptor[])tagHelpers);
1002996

1003997
// Act
1004-
visitor.VisitBlock(syntaxTree.Root);
998+
visitor.Visit(syntaxTree.Root);
1005999

10061000
// Assert
10071001
Assert.Empty(visitor.Matches);

test/Microsoft.AspNetCore.Razor.Language.Test/DirectiveTokenEditHandlerTest.cs

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
33

4-
using System;
54
using System.Collections.Generic;
6-
using System.Text;
5+
using System.Linq;
76
using Microsoft.AspNetCore.Razor.Language.Legacy;
7+
using Microsoft.AspNetCore.Razor.Language.Syntax;
88
using Xunit;
99

1010
namespace Microsoft.AspNetCore.Razor.Language.Test
@@ -18,11 +18,11 @@ public class DirectiveTokenEditHandlerTest
1818
public void CanAcceptChange_ProvisionallyAcceptsNonWhitespaceChanges(int index, int length, string newText)
1919
{
2020
// Arrange
21-
var factory = new SpanFactory();
2221
var directiveTokenHandler = new TestDirectiveTokenEditHandler();
23-
var target = factory.Span(SpanKindInternal.Code, "SomeNamespace", markup: false)
24-
.With(directiveTokenHandler)
25-
.Accepts(AcceptedCharactersInternal.NonWhitespace);
22+
directiveTokenHandler.AcceptedCharacters = AcceptedCharactersInternal.NonWhitespace;
23+
24+
var target = GetSyntaxNode(directiveTokenHandler, "SomeNamespace");
25+
2626
var sourceChange = new SourceChange(index, length, newText);
2727

2828
// Act
@@ -39,11 +39,11 @@ public void CanAcceptChange_ProvisionallyAcceptsNonWhitespaceChanges(int index,
3939
public void CanAcceptChange_RejectsWhitespaceChanges(int index, int length, string newText)
4040
{
4141
// Arrange
42-
var factory = new SpanFactory();
4342
var directiveTokenHandler = new TestDirectiveTokenEditHandler();
44-
var target = factory.Span(SpanKindInternal.Code, "Some Namespace", markup: false)
45-
.With(directiveTokenHandler)
46-
.Accepts(AcceptedCharactersInternal.NonWhitespace);
43+
directiveTokenHandler.AcceptedCharacters = AcceptedCharactersInternal.NonWhitespace;
44+
45+
var target = GetSyntaxNode(directiveTokenHandler, "Some Namespace");
46+
4747
var sourceChange = new SourceChange(index, length, newText);
4848

4949
// Act
@@ -53,14 +53,34 @@ public void CanAcceptChange_RejectsWhitespaceChanges(int index, int length, stri
5353
Assert.Equal(PartialParseResultInternal.Rejected, result);
5454
}
5555

56+
private static CSharpStatementLiteralSyntax GetSyntaxNode(DirectiveTokenEditHandler editHandler, string content)
57+
{
58+
var builder = SyntaxListBuilder<SyntaxToken>.Create();
59+
var tokens = CSharpLanguageCharacteristics.Instance.TokenizeString(content).ToArray();
60+
foreach (var token in tokens)
61+
{
62+
builder.Add((SyntaxToken)token.CreateRed());
63+
}
64+
var node = SyntaxFactory.CSharpStatementLiteral(builder.ToList());
65+
66+
var context = new SpanContext(SpanChunkGenerator.Null, editHandler);
67+
68+
return node.WithSpanContext(context);
69+
}
70+
5671
private class TestDirectiveTokenEditHandler : DirectiveTokenEditHandler
5772
{
58-
public TestDirectiveTokenEditHandler() : base(content => SpanConstructor.TestTokenizer(content))
73+
public TestDirectiveTokenEditHandler() : base(content => TestTokenizer(content))
5974
{
6075
}
6176

62-
public new PartialParseResultInternal CanAcceptChange(Span target, SourceChange change)
77+
public new PartialParseResultInternal CanAcceptChange(SyntaxNode target, SourceChange change)
6378
=> base.CanAcceptChange(target, change);
79+
80+
internal static IEnumerable<Syntax.InternalSyntax.SyntaxToken> TestTokenizer(string str)
81+
{
82+
yield return Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.Marker, str);
83+
}
6484
}
6585
}
6686
}

0 commit comments

Comments
 (0)