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

Commit f5235ba

Browse files
author
N. Taylor Mullen
committed
Addressed code review comments
1 parent 48508e3 commit f5235ba

File tree

7 files changed

+97
-72
lines changed

7 files changed

+97
-72
lines changed

test/Microsoft.AspNet.Razor.Test/Generator/CSharpTagHelperRenderingTest.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ namespace Microsoft.AspNet.Razor.Test.Generator
1414
public class CSharpTagHelperRenderingTest : CSharpRazorCodeGeneratorTest
1515
{
1616
[Theory]
17+
[InlineData("SingleTagHelper")]
1718
[InlineData("BasicTagHelpers")]
1819
[InlineData("ComplexTagHelpers")]
1920
public void TagHelpers_ChangeGeneratedOutput(string testType)
2021
{
22+
var pFooPropertyInfo = new Mock<PropertyInfo>();
23+
pFooPropertyInfo.Setup(ppi => ppi.PropertyType).Returns(typeof(int));
24+
pFooPropertyInfo.Setup(ppi => ppi.Name).Returns("Foo");
2125
var inputTypePropertyInfo = new Mock<PropertyInfo>();
2226
inputTypePropertyInfo.Setup(ipi => ipi.PropertyType).Returns(typeof(string));
2327
inputTypePropertyInfo.Setup(ipi => ipi.Name).Returns("Type");
@@ -28,7 +32,12 @@ public void TagHelpers_ChangeGeneratedOutput(string testType)
2832
var tagHelperProvider = new TagHelperDescriptorProvider(
2933
new TagHelperDescriptor[]
3034
{
31-
new TagHelperDescriptor("p", "pTagHelper", ContentBehavior.None),
35+
new TagHelperDescriptor("p",
36+
"pTagHelper",
37+
ContentBehavior.None,
38+
new [] {
39+
new TagHelperAttributeDescriptor("foo", pFooPropertyInfo.Object)
40+
}),
3241
new TagHelperDescriptor("input",
3342
"inputTagHelper",
3443
ContentBehavior.None,

test/Microsoft.AspNet.Razor.Test/Generator/RazorCodeGeneratorTest.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ private void RunTestInternal(string name,
124124
"Template",
125125
"DefineSection",
126126
"BeginContext",
127-
"EndContext")
127+
"EndContext",
128+
"Activate")
128129
{
129130
LayoutPropertyName = "Layout",
130131
ResolveUrlMethodName = "Href"

test/Microsoft.AspNet.Razor.Test/TestFiles/CodeGenerator/CS/Output/BasicTagHelpers.cs

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ namespace TestOutput
55

66
public class BasicTagHelpers
77
{
8+
[Activate]
9+
private ITagHelperManager __tagHelperManager { get; set; }
810
#line hidden
911
public BasicTagHelpers()
1012
{
@@ -13,49 +15,42 @@ public BasicTagHelpers()
1315
#pragma warning disable 1998
1416
public override async Task ExecuteAsync()
1517
{
16-
ITagHelperManager __tagHelperManager = CreateTagHelper();
17-
var __tagHelperBufferValue = string.Empty;
18-
pTagHelper __p_pTagHelper_None = null;
19-
inputTagHelper __input_inputTagHelper_None = null;
20-
inputTagHelper2 __input_inputTagHelper2_None = null;
18+
var __tagHelperAttributeValue = string.Empty;
19+
pTagHelper __p_pTagHelper_None;
20+
inputTagHelper __input_inputTagHelper_None;
21+
inputTagHelper2 __input_inputTagHelper2_None;
2122
WriteLiteral("<div class=\"randomNonTagHelperAttribute\">\r\n ");
22-
__p_pTagHelper_None = CreateTagHelper<pTagHelper>();
23-
__tagHelperManager.AddActiveTagHelper(__p_pTagHelper_None);
23+
__p_pTagHelper_None = __tagHelperManager.StartTagHelper<pTagHelper>();
2424
__tagHelperManager.AddHTMLAttribute("class", "Hello World");
2525
__tagHelperManager.StartActiveTagHelpers("p");
2626
__tagHelperManager.ExecuteTagHelpers();
2727
WriteLiteral(__tagHelperManager.GenerateTagStart());
2828
WriteLiteral("\r\n ");
29-
__p_pTagHelper_None = CreateTagHelper<pTagHelper>();
30-
__tagHelperManager.AddActiveTagHelper(__p_pTagHelper_None);
29+
__p_pTagHelper_None = __tagHelperManager.StartTagHelper<pTagHelper>();
3130
__tagHelperManager.StartActiveTagHelpers("p");
3231
__tagHelperManager.ExecuteTagHelpers();
3332
WriteLiteral(__tagHelperManager.GenerateTagStart());
3433
WriteLiteral(__tagHelperManager.GenerateTagEnd());
3534
__tagHelperManager.EndTagHelpers();
3635
WriteLiteral("\r\n ");
37-
__input_inputTagHelper_None = CreateTagHelper<inputTagHelper>();
36+
__input_inputTagHelper_None = __tagHelperManager.StartTagHelper<inputTagHelper>();
3837
__input_inputTagHelper_None.Type = "text";
3938
__tagHelperManager.AddTagHelperAttribute("type", __input_inputTagHelper_None.Type);
40-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper_None);
41-
__input_inputTagHelper2_None = CreateTagHelper<inputTagHelper2>();
39+
__input_inputTagHelper2_None = __tagHelperManager.StartTagHelper<inputTagHelper2>();
4240
__input_inputTagHelper2_None.Type = __input_inputTagHelper_None.Type;
43-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper2_None);
4441
__tagHelperManager.StartActiveTagHelpers("input");
4542
__tagHelperManager.ExecuteTagHelpers();
4643
WriteLiteral(__tagHelperManager.GenerateTagStart());
4744
WriteLiteral(__tagHelperManager.GenerateTagEnd());
4845
__tagHelperManager.EndTagHelpers();
4946
WriteLiteral("\r\n ");
50-
__input_inputTagHelper_None = CreateTagHelper<inputTagHelper>();
47+
__input_inputTagHelper_None = __tagHelperManager.StartTagHelper<inputTagHelper>();
5148
__input_inputTagHelper_None.Type = "checkbox";
5249
__tagHelperManager.AddTagHelperAttribute("type", __input_inputTagHelper_None.Type);
53-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper_None);
54-
__input_inputTagHelper2_None = CreateTagHelper<inputTagHelper2>();
50+
__input_inputTagHelper2_None = __tagHelperManager.StartTagHelper<inputTagHelper2>();
5551
__input_inputTagHelper2_None.Type = __input_inputTagHelper_None.Type;
5652
__input_inputTagHelper2_None.Checked = true;
5753
__tagHelperManager.AddTagHelperAttribute("checked", __input_inputTagHelper2_None.Checked);
58-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper2_None);
5954
__tagHelperManager.StartActiveTagHelpers("input");
6055
__tagHelperManager.ExecuteTagHelpers();
6156
WriteLiteral(__tagHelperManager.GenerateTagStart());

test/Microsoft.AspNet.Razor.Test/TestFiles/CodeGenerator/CS/Output/ComplexTagHelpers.cs

Lines changed: 25 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ namespace TestOutput
55

66
public class ComplexTagHelpers
77
{
8+
[Activate]
9+
private ITagHelperManager __tagHelperManager { get; set; }
810
#line hidden
911
public ComplexTagHelpers()
1012
{
@@ -13,11 +15,10 @@ public ComplexTagHelpers()
1315
#pragma warning disable 1998
1416
public override async Task ExecuteAsync()
1517
{
16-
ITagHelperManager __tagHelperManager = CreateTagHelper();
17-
var __tagHelperBufferValue = string.Empty;
18-
pTagHelper __p_pTagHelper_None = null;
19-
inputTagHelper __input_inputTagHelper_None = null;
20-
inputTagHelper2 __input_inputTagHelper2_None = null;
18+
var __tagHelperAttributeValue = string.Empty;
19+
pTagHelper __p_pTagHelper_None;
20+
inputTagHelper __input_inputTagHelper_None;
21+
inputTagHelper2 __input_inputTagHelper2_None;
2122
#line 1 "ComplexTagHelpers.cshtml"
2223
if (true)
2324
{
@@ -28,8 +29,7 @@ public override async Task ExecuteAsync()
2829
#line hidden
2930

3031
WriteLiteral(" <div class=\"randomNonTagHelperAttribute\">\r\n ");
31-
__p_pTagHelper_None = CreateTagHelper<pTagHelper>();
32-
__tagHelperManager.AddActiveTagHelper(__p_pTagHelper_None);
32+
__p_pTagHelper_None = __tagHelperManager.StartTagHelper<pTagHelper>();
3333
try {
3434
NewWritingScope();
3535
WriteLiteral("Current Time: ");
@@ -43,9 +43,9 @@ public override async Task ExecuteAsync()
4343

4444
}
4545
finally {
46-
__tagHelperBufferValue = EndWritingScope();
46+
__tagHelperAttributeValue = EndWritingScope();
4747
}
48-
__tagHelperManager.AddHTMLAttribute("time", __tagHelperBufferValue);
48+
__tagHelperManager.AddHTMLAttribute("time", __tagHelperAttributeValue);
4949
__tagHelperManager.StartActiveTagHelpers("p");
5050
__tagHelperManager.ExecuteTagHelpers();
5151
WriteLiteral(__tagHelperManager.GenerateTagStart());
@@ -64,19 +64,16 @@ public override async Task ExecuteAsync()
6464
#line hidden
6565

6666
WriteLiteral(" ");
67-
__p_pTagHelper_None = CreateTagHelper<pTagHelper>();
68-
__tagHelperManager.AddActiveTagHelper(__p_pTagHelper_None);
67+
__p_pTagHelper_None = __tagHelperManager.StartTagHelper<pTagHelper>();
6968
__tagHelperManager.StartActiveTagHelpers("p");
7069
__tagHelperManager.ExecuteTagHelpers();
7170
WriteLiteral(__tagHelperManager.GenerateTagStart());
7271
WriteLiteral("New Time: ");
73-
__input_inputTagHelper_None = CreateTagHelper<inputTagHelper>();
72+
__input_inputTagHelper_None = __tagHelperManager.StartTagHelper<inputTagHelper>();
7473
__input_inputTagHelper_None.Type = "text";
7574
__tagHelperManager.AddTagHelperAttribute("type", __input_inputTagHelper_None.Type);
76-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper_None);
77-
__input_inputTagHelper2_None = CreateTagHelper<inputTagHelper2>();
75+
__input_inputTagHelper2_None = __tagHelperManager.StartTagHelper<inputTagHelper2>();
7876
__input_inputTagHelper2_None.Type = __input_inputTagHelper_None.Type;
79-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper2_None);
8077
__tagHelperManager.AddHTMLAttribute("value", "");
8178
__tagHelperManager.AddHTMLAttribute("placeholder", "Enter in a new time...");
8279
__tagHelperManager.StartActiveTagHelpers("input");
@@ -96,13 +93,12 @@ public override async Task ExecuteAsync()
9693
#line hidden
9794

9895
WriteLiteral(" ");
99-
__p_pTagHelper_None = CreateTagHelper<pTagHelper>();
100-
__tagHelperManager.AddActiveTagHelper(__p_pTagHelper_None);
96+
__p_pTagHelper_None = __tagHelperManager.StartTagHelper<pTagHelper>();
10197
__tagHelperManager.StartActiveTagHelpers("p");
10298
__tagHelperManager.ExecuteTagHelpers();
10399
WriteLiteral(__tagHelperManager.GenerateTagStart());
104100
WriteLiteral("Current Time: ");
105-
__input_inputTagHelper_None = CreateTagHelper<inputTagHelper>();
101+
__input_inputTagHelper_None = __tagHelperManager.StartTagHelper<inputTagHelper>();
106102
try {
107103
NewWritingScope();
108104
Write(
@@ -115,16 +111,14 @@ public override async Task ExecuteAsync()
115111

116112
}
117113
finally {
118-
__tagHelperBufferValue = EndWritingScope();
114+
__tagHelperAttributeValue = EndWritingScope();
119115
}
120-
__input_inputTagHelper_None.Type = __tagHelperBufferValue;
116+
__input_inputTagHelper_None.Type = __tagHelperAttributeValue;
121117
__tagHelperManager.AddTagHelperAttribute("type", __input_inputTagHelper_None.Type);
122-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper_None);
123-
__input_inputTagHelper2_None = CreateTagHelper<inputTagHelper2>();
118+
__input_inputTagHelper2_None = __tagHelperManager.StartTagHelper<inputTagHelper2>();
124119
__input_inputTagHelper2_None.Type = __input_inputTagHelper_None.Type;
125120
__input_inputTagHelper2_None.Checked = true;
126121
__tagHelperManager.AddTagHelperAttribute("checked", __input_inputTagHelper2_None.Checked);
127-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper2_None);
128122
__tagHelperManager.StartActiveTagHelpers("input");
129123
__tagHelperManager.ExecuteTagHelpers();
130124
WriteLiteral(__tagHelperManager.GenerateTagStart());
@@ -133,7 +127,7 @@ public override async Task ExecuteAsync()
133127
WriteLiteral(__tagHelperManager.GenerateTagEnd());
134128
__tagHelperManager.EndTagHelpers();
135129
WriteLiteral("\r\n ");
136-
__input_inputTagHelper_None = CreateTagHelper<inputTagHelper>();
130+
__input_inputTagHelper_None = __tagHelperManager.StartTagHelper<inputTagHelper>();
137131
try {
138132
NewWritingScope();
139133
Write(
@@ -146,21 +140,19 @@ public override async Task ExecuteAsync()
146140

147141
}
148142
finally {
149-
__tagHelperBufferValue = EndWritingScope();
143+
__tagHelperAttributeValue = EndWritingScope();
150144
}
151-
__input_inputTagHelper_None.Type = __tagHelperBufferValue;
145+
__input_inputTagHelper_None.Type = __tagHelperAttributeValue;
152146
__tagHelperManager.AddTagHelperAttribute("type", __input_inputTagHelper_None.Type);
153-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper_None);
154-
__input_inputTagHelper2_None = CreateTagHelper<inputTagHelper2>();
147+
__input_inputTagHelper2_None = __tagHelperManager.StartTagHelper<inputTagHelper2>();
155148
__input_inputTagHelper2_None.Type = __input_inputTagHelper_None.Type;
156-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper2_None);
157149
__tagHelperManager.StartActiveTagHelpers("input");
158150
__tagHelperManager.ExecuteTagHelpers();
159151
WriteLiteral(__tagHelperManager.GenerateTagStart());
160152
WriteLiteral(__tagHelperManager.GenerateTagEnd());
161153
__tagHelperManager.EndTagHelpers();
162154
WriteLiteral("\r\n ");
163-
__input_inputTagHelper_None = CreateTagHelper<inputTagHelper>();
155+
__input_inputTagHelper_None = __tagHelperManager.StartTagHelper<inputTagHelper>();
164156
try {
165157
NewWritingScope();
166158
#line 16 "ComplexTagHelpers.cshtml"
@@ -185,14 +177,12 @@ public override async Task ExecuteAsync()
185177

186178
}
187179
finally {
188-
__tagHelperBufferValue = EndWritingScope();
180+
__tagHelperAttributeValue = EndWritingScope();
189181
}
190-
__input_inputTagHelper_None.Type = __tagHelperBufferValue;
182+
__input_inputTagHelper_None.Type = __tagHelperAttributeValue;
191183
__tagHelperManager.AddTagHelperAttribute("type", __input_inputTagHelper_None.Type);
192-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper_None);
193-
__input_inputTagHelper2_None = CreateTagHelper<inputTagHelper2>();
184+
__input_inputTagHelper2_None = __tagHelperManager.StartTagHelper<inputTagHelper2>();
194185
__input_inputTagHelper2_None.Type = __input_inputTagHelper_None.Type;
195-
__tagHelperManager.AddActiveTagHelper(__input_inputTagHelper2_None);
196186
__tagHelperManager.StartActiveTagHelpers("input");
197187
__tagHelperManager.ExecuteTagHelpers();
198188
WriteLiteral(__tagHelperManager.GenerateTagStart());

test/Microsoft.AspNet.Razor.Test/TestFiles/CodeGenerator/CS/Output/ContentBehaviorTagHelpers.cs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ namespace TestOutput
55

66
public class ContentBehaviorTagHelpers
77
{
8+
[Activate]
9+
private ITagHelperManager __tagHelperManager { get; set; }
810
#line hidden
911
public ContentBehaviorTagHelpers()
1012
{
@@ -13,46 +15,40 @@ public ContentBehaviorTagHelpers()
1315
#pragma warning disable 1998
1416
public override async Task ExecuteAsync()
1517
{
16-
ITagHelperManager __tagHelperManager = CreateTagHelper();
17-
var __tagHelperBufferValue = string.Empty;
18-
modifyTagHelper __modify_modifyTagHelper_Modify = null;
19-
noneTagHelper __none_noneTagHelper_None = null;
20-
appendTagHelper __append_appendTagHelper_Append = null;
21-
prependTagHelper __prepend_prependTagHelper_Prepend = null;
22-
replaceTagHelper __replace_replaceTagHelper_Replace = null;
23-
__modify_modifyTagHelper_Modify = CreateTagHelper<modifyTagHelper>();
24-
__tagHelperManager.AddActiveTagHelper(__modify_modifyTagHelper_Modify);
18+
var __tagHelperAttributeValue = string.Empty;
19+
modifyTagHelper __modify_modifyTagHelper_Modify;
20+
noneTagHelper __none_noneTagHelper_None;
21+
appendTagHelper __append_appendTagHelper_Append;
22+
prependTagHelper __prepend_prependTagHelper_Prepend;
23+
replaceTagHelper __replace_replaceTagHelper_Replace;
24+
__modify_modifyTagHelper_Modify = __tagHelperManager.StartTagHelper<modifyTagHelper>();
2525
__tagHelperManager.AddHTMLAttribute("class", "myModifyClass");
2626
__tagHelperManager.AddHTMLAttribute("style", "color:red;");
2727
__tagHelperManager.StartActiveTagHelpers("modify");
2828
try {
2929
NewWritingScope(__tagHelperManager.GetTagBodyBuffer());
3030
WriteLiteral("\r\n ");
31-
__none_noneTagHelper_None = CreateTagHelper<noneTagHelper>();
32-
__tagHelperManager.AddActiveTagHelper(__none_noneTagHelper_None);
31+
__none_noneTagHelper_None = __tagHelperManager.StartTagHelper<noneTagHelper>();
3332
__tagHelperManager.AddHTMLAttribute("class", "myNoneClass");
3433
__tagHelperManager.StartActiveTagHelpers("none");
3534
__tagHelperManager.ExecuteTagHelpers();
3635
WriteLiteral(__tagHelperManager.GenerateTagStart());
3736
WriteLiteral("\r\n ");
38-
__append_appendTagHelper_Append = CreateTagHelper<appendTagHelper>();
39-
__tagHelperManager.AddActiveTagHelper(__append_appendTagHelper_Append);
37+
__append_appendTagHelper_Append = __tagHelperManager.StartTagHelper<appendTagHelper>();
4038
__tagHelperManager.AddHTMLAttribute("style", "color:red;");
4139
__tagHelperManager.StartActiveTagHelpers("append");
4240
__tagHelperManager.ExecuteTagHelpers();
4341
WriteLiteral(__tagHelperManager.GenerateTagStart());
4442
WriteLiteral("\r\n ");
45-
__prepend_prependTagHelper_Prepend = CreateTagHelper<prependTagHelper>();
46-
__tagHelperManager.AddActiveTagHelper(__prepend_prependTagHelper_Prepend);
43+
__prepend_prependTagHelper_Prepend = __tagHelperManager.StartTagHelper<prependTagHelper>();
4744
__tagHelperManager.AddHTMLAttribute("class", "myPrependClass");
4845
__tagHelperManager.AddHTMLAttribute("customAttribute", "customValue");
4946
__tagHelperManager.StartActiveTagHelpers("prepend");
5047
__tagHelperManager.ExecuteTagHelpers();
5148
WriteLiteral(__tagHelperManager.GenerateTagStart());
5249
WriteLiteral(__tagHelperManager.GenerateTagContent());
5350
WriteLiteral("\r\n ");
54-
__replace_replaceTagHelper_Replace = CreateTagHelper<replaceTagHelper>();
55-
__tagHelperManager.AddActiveTagHelper(__replace_replaceTagHelper_Replace);
51+
__replace_replaceTagHelper_Replace = __tagHelperManager.StartTagHelper<replaceTagHelper>();
5652
__tagHelperManager.AddHTMLAttribute("for", "hello");
5753
__tagHelperManager.AddHTMLAttribute("id", "bar");
5854
__tagHelperManager.StartActiveTagHelpers("replace");
@@ -74,7 +70,7 @@ public override async Task ExecuteAsync()
7470
WriteLiteral("\r\n");
7571
}
7672
finally {
77-
__tagHelperBufferValue = EndWritingScope();
73+
__tagHelperAttributeValue = EndWritingScope();
7874
}
7975
__tagHelperManager.ExecuteTagHelpers();
8076
WriteLiteral(__tagHelperManager.GenerateTagStart());

0 commit comments

Comments
 (0)