Skip to content

Commit 8315288

Browse files
authored
More test improvements (#9549)
* Remove InitializeTestFileAttribute - Get test file name via overridden method instead - Plumb through test names as needed * Switch code gen integration tests to use integration test fact * Add missing tests + baselines * Primary ctor * Dont use MemberCallerName for sub invocations * Fix other integration tests * Move helper
1 parent 59246f6 commit 8315288

21 files changed

+981
-1036
lines changed

src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/CodeGenerationIntegrationTest.cs

Lines changed: 211 additions & 926 deletions
Large diffs are not rendered by default.

src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ExtensibleDirectiveTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public void NamespaceToken()
2121
// Arrange
2222
var engine = CreateProjectEngine(builder =>
2323
{
24-
builder.ConfigureDocumentClassifier();
24+
builder.ConfigureDocumentClassifier(GetTestFileName(nameof(NamespaceToken)));
2525

2626
builder.AddDirective(DirectiveDescriptor.CreateDirective("custom", DirectiveKind.SingleLine, b => b.AddNamespaceToken()));
2727
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective.cshtml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "acb2e9438f3250e99764ff47299ab6f5503f0ade0c3b94cd2fc81bc2e2506a59"
2+
// <auto-generated/>
3+
#pragma warning disable 1591
4+
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AddTagHelperDirective_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective.cshtml")]
5+
namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
6+
{
7+
#line hidden
8+
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"Sha256", @"acb2e9438f3250e99764ff47299ab6f5503f0ade0c3b94cd2fc81bc2e2506a59", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective.cshtml")]
9+
public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AddTagHelperDirective_Runtime
10+
{
11+
#pragma warning disable 1998
12+
public async System.Threading.Tasks.Task ExecuteAsync()
13+
{
14+
}
15+
#pragma warning restore 1998
16+
}
17+
}
18+
#pragma warning restore 1591
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Document -
2+
RazorCompiledItemAttribute -
3+
NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
4+
RazorSourceChecksumAttribute -
5+
ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AddTagHelperDirective_Runtime - -
6+
MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
// <auto-generated/>
2+
#pragma warning disable 1591
3+
namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
4+
{
5+
#line hidden
6+
public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_RemoveTagHelper_DesignTime
7+
{
8+
#line hidden
9+
#pragma warning disable 0649
10+
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
11+
#pragma warning restore 0649
12+
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
13+
private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
14+
private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
15+
private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
16+
#pragma warning disable 219
17+
private void __RazorDirectiveTokenHelpers__() {
18+
((global::System.Action)(() => {
19+
#nullable restore
20+
#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml"
21+
global::System.Object __typeHelper = "*, TestAssembly";
22+
23+
#line default
24+
#line hidden
25+
#nullable disable
26+
}
27+
))();
28+
((global::System.Action)(() => {
29+
#nullable restore
30+
#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml"
31+
global::System.Object __typeHelper = "doesntmatter, nice";
32+
33+
#line default
34+
#line hidden
35+
#nullable disable
36+
}
37+
))();
38+
}
39+
#pragma warning restore 219
40+
#pragma warning disable 0414
41+
private static object __o = null;
42+
#pragma warning restore 0414
43+
#pragma warning disable 1998
44+
public async System.Threading.Tasks.Task ExecuteAsync()
45+
{
46+
__TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
47+
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
48+
__TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
49+
__TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
50+
__TestNamespace_InputTagHelper.Type = "text";
51+
__TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
52+
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
53+
__TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
54+
__TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
55+
__TestNamespace_InputTagHelper.Type = "checkbox";
56+
__TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
57+
#nullable restore
58+
#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml"
59+
__TestNamespace_InputTagHelper2.Checked = true;
60+
61+
#line default
62+
#line hidden
63+
#nullable disable
64+
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
65+
__TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
66+
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
67+
}
68+
#pragma warning restore 1998
69+
}
70+
}
71+
#pragma warning restore 1591
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
~~~~~~~~~~~~~ ~~~ ~~~~~~~~~~~~~
2+
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~
3+
4+
<div class="randomNonTagHelperAttribute">
5+
<p class="Hello World">
6+
<p></p>
7+
<input type="text" />
8+
<input type="checkbox" checked="~~~~"/>
9+
</p>
10+
</div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Source Location: (13:0,13 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml)
2+
| |
3+
Generated Location: (13:0,13 [1] )
4+
| |
5+
6+
Source Location: (31:0,31 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml)
7+
|
8+
|
9+
Generated Location: (31:0,31 [2] )
10+
|
11+
|
12+
13+
Source Location: (49:1,16 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml)
14+
| |
15+
Generated Location: (49:1,16 [1] )
16+
| |
17+
18+
Source Location: (70:1,37 [164] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml)
19+
|
20+
21+
<div class="randomNonTagHelperAttribute">
22+
<p class="Hello World">
23+
<p></p>
24+
<input type="text" />
25+
<input type="checkbox" checked="|
26+
Generated Location: (70:1,37 [164] )
27+
|
28+
29+
<div class="randomNonTagHelperAttribute">
30+
<p class="Hello World">
31+
<p></p>
32+
<input type="text" />
33+
<input type="checkbox" checked="|
34+
35+
Source Location: (238:7,44 [21] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml)
36+
|"/>
37+
</p>
38+
</div>|
39+
Generated Location: (238:7,44 [21] )
40+
|"/>
41+
</p>
42+
</div>|
43+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
Document -
2+
NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
3+
ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_RemoveTagHelper_DesignTime - -
4+
DefaultTagHelperRuntime -
5+
FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
6+
FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
7+
FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
8+
DesignTimeDirective -
9+
DirectiveToken - (14:0,14 [17] BasicTagHelpers_RemoveTagHelper.cshtml) - "*, TestAssembly"
10+
DirectiveToken - (50:1,17 [20] BasicTagHelpers_RemoveTagHelper.cshtml) - "doesntmatter, nice"
11+
CSharpCode -
12+
IntermediateToken - - CSharp - #pragma warning disable 0414
13+
CSharpCode -
14+
IntermediateToken - - CSharp - private static object __o = null;
15+
CSharpCode -
16+
IntermediateToken - - CSharp - #pragma warning restore 0414
17+
MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
18+
HtmlContent - (31:0,31 [2] BasicTagHelpers_RemoveTagHelper.cshtml)
19+
LazyIntermediateToken - (31:0,31 [2] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
20+
HtmlContent - (70:1,37 [51] BasicTagHelpers_RemoveTagHelper.cshtml)
21+
LazyIntermediateToken - (70:1,37 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n\n
22+
LazyIntermediateToken - (74:3,0 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - <div
23+
LazyIntermediateToken - (78:3,4 [36] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - class="randomNonTagHelperAttribute"
24+
LazyIntermediateToken - (114:3,40 [1] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - >
25+
LazyIntermediateToken - (115:3,41 [6] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
26+
TagHelper - (121:4,4 [130] BasicTagHelpers_RemoveTagHelper.cshtml) - p - TagMode.StartTagAndEndTag
27+
DefaultTagHelperBody -
28+
HtmlContent - (144:4,27 [10] BasicTagHelpers_RemoveTagHelper.cshtml)
29+
LazyIntermediateToken - (144:4,27 [10] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
30+
TagHelper - (154:5,8 [7] BasicTagHelpers_RemoveTagHelper.cshtml) - p - TagMode.StartTagAndEndTag
31+
DefaultTagHelperBody -
32+
DefaultTagHelperCreate - - TestNamespace.PTagHelper
33+
DefaultTagHelperExecute -
34+
HtmlContent - (161:5,15 [10] BasicTagHelpers_RemoveTagHelper.cshtml)
35+
LazyIntermediateToken - (161:5,15 [10] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
36+
TagHelper - (171:6,8 [21] BasicTagHelpers_RemoveTagHelper.cshtml) - input - TagMode.SelfClosing
37+
DefaultTagHelperBody -
38+
DefaultTagHelperCreate - - TestNamespace.InputTagHelper
39+
DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
40+
DefaultTagHelperProperty - (184:6,21 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
41+
HtmlContent - (184:6,21 [4] BasicTagHelpers_RemoveTagHelper.cshtml)
42+
LazyIntermediateToken - (184:6,21 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - text
43+
DefaultTagHelperProperty - (184:6,21 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
44+
HtmlContent - (184:6,21 [4] BasicTagHelpers_RemoveTagHelper.cshtml)
45+
LazyIntermediateToken - (184:6,21 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - text
46+
DefaultTagHelperExecute -
47+
HtmlContent - (192:6,29 [10] BasicTagHelpers_RemoveTagHelper.cshtml)
48+
LazyIntermediateToken - (192:6,29 [10] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
49+
TagHelper - (202:7,8 [39] BasicTagHelpers_RemoveTagHelper.cshtml) - input - TagMode.SelfClosing
50+
DefaultTagHelperBody -
51+
DefaultTagHelperCreate - - TestNamespace.InputTagHelper
52+
DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
53+
DefaultTagHelperProperty - (215:7,21 [8] BasicTagHelpers_RemoveTagHelper.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
54+
HtmlContent - (215:7,21 [8] BasicTagHelpers_RemoveTagHelper.cshtml)
55+
LazyIntermediateToken - (215:7,21 [8] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - checkbox
56+
DefaultTagHelperProperty - (215:7,21 [8] BasicTagHelpers_RemoveTagHelper.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
57+
HtmlContent - (215:7,21 [8] BasicTagHelpers_RemoveTagHelper.cshtml)
58+
LazyIntermediateToken - (215:7,21 [8] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - checkbox
59+
DefaultTagHelperProperty - (234:7,40 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
60+
LazyIntermediateToken - (234:7,40 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - CSharp - true
61+
DefaultTagHelperExecute -
62+
HtmlContent - (241:7,47 [6] BasicTagHelpers_RemoveTagHelper.cshtml)
63+
LazyIntermediateToken - (241:7,47 [6] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
64+
DefaultTagHelperCreate - - TestNamespace.PTagHelper
65+
DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
66+
HtmlContent - (131:4,14 [11] BasicTagHelpers_RemoveTagHelper.cshtml)
67+
LazyIntermediateToken - (131:4,14 [11] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - Hello World
68+
DefaultTagHelperExecute -
69+
HtmlContent - (251:8,8 [8] BasicTagHelpers_RemoveTagHelper.cshtml)
70+
LazyIntermediateToken - (251:8,8 [2] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
71+
LazyIntermediateToken - (253:9,0 [6] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - </div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml)
2+
|"*, TestAssembly"|
3+
Generated Location: (1231:20,37 [17] )
4+
|"*, TestAssembly"|
5+
6+
Source Location: (50:1,17 [20] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml)
7+
|"doesntmatter, nice"|
8+
Generated Location: (1532:30,37 [20] )
9+
|"doesntmatter, nice"|
10+
11+
Source Location: (234:7,40 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml)
12+
|true|
13+
Generated Location: (3043:58,42 [4] )
14+
|true|
15+

0 commit comments

Comments
 (0)