Skip to content

Commit 871ccc8

Browse files
authored
Don't replace the slashes in hint names (#12477)
* Don't replace the slashes in hintnames * Add test * Normalize line endings + don't allow first char to be a slash
1 parent 3522930 commit 871ccc8

File tree

20 files changed

+64
-28
lines changed

20 files changed

+64
-28
lines changed

src/Compiler/Microsoft.CodeAnalysis.Razor.Compiler/src/SourceGenerators/RazorSourceGenerator.Helpers.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ internal static string GetIdentifierFromPath(ReadOnlySpan<char> filePath)
2121
{
2222
switch (filePath[i])
2323
{
24-
case ':' or '\\' or '/':
24+
case '\\' or '/' when i > 0:
25+
builder.Append('/');
26+
break;
2527
case char ch when !char.IsLetterOrDigit(ch):
2628
builder.Append('_');
2729
break;

src/Compiler/test/Microsoft.NET.Sdk.Razor.SourceGenerators.Tests/RazorSourceGeneratorTests.cs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,8 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.
238238
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.razor", "Runtime"),
239239
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Counter.razor", "Runtime"),
240240
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Counter.razor", "Runtime"),
241-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Index_razor.g.cs"),
242-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Counter_razor.g.cs")
241+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Index_razor.g.cs"),
242+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Counter_razor.g.cs")
243243
);
244244
}
245245

@@ -456,7 +456,7 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.
456456
e => e.AssertSingleItem("CheckAndRewriteTagHelpersStop", "Pages/Counter.razor"),
457457
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Counter.razor", "Runtime"),
458458
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Counter.razor", "Runtime"),
459-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Counter_razor.g.cs")
459+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Counter_razor.g.cs")
460460
);
461461
}
462462

@@ -843,7 +843,7 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.
843843
e => e.AssertSingleItem("CheckAndRewriteTagHelpersStop", "Pages/Counter.razor"),
844844
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Counter.razor", "Runtime"),
845845
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Counter.razor", "Runtime"),
846-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Counter_razor.g.cs")
846+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Counter_razor.g.cs")
847847
);
848848
}
849849

@@ -1017,7 +1017,7 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.
10171017
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.razor", "Runtime"),
10181018
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Counter.razor", "Runtime"),
10191019
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Counter.razor", "Runtime"),
1020-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Counter_razor.g.cs")
1020+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Counter_razor.g.cs")
10211021
);
10221022
}
10231023

@@ -1172,7 +1172,7 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.
11721172
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.razor", "Runtime"),
11731173
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Counter.razor", "Runtime"),
11741174
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Counter.razor", "Runtime"),
1175-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Index_razor.g.cs")
1175+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Index_razor.g.cs")
11761176
);
11771177

11781178
// Verify caching
@@ -1381,8 +1381,8 @@ internal sealed class Views_Shared__Layout : global::Microsoft.AspNetCore.Mvc.Ra
13811381
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.cshtml", "Runtime"),
13821382
e => e.AssertPair("RazorCodeGenerateStart", "Views/Shared/_Layout.cshtml", "Runtime"),
13831383
e => e.AssertPair("RazorCodeGenerateStop", "Views/Shared/_Layout.cshtml", "Runtime"),
1384-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Index_cshtml.g.cs"),
1385-
e => e.AssertSingleItem("AddSyntaxTrees", "Views_Shared__Layout_cshtml.g.cs")
1384+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Index_cshtml.g.cs"),
1385+
e => e.AssertSingleItem("AddSyntaxTrees", "Views/Shared/_Layout_cshtml.g.cs")
13861386
);
13871387
}
13881388

@@ -1722,7 +1722,7 @@ internal sealed class Views_Shared__Layout : global::Microsoft.AspNetCore.Mvc.Ra
17221722
e => e.AssertSingleItem("CheckAndRewriteTagHelpersStop", "Views/Shared/_Layout.cshtml"),
17231723
e => e.AssertPair("RazorCodeGenerateStart", "Views/Shared/_Layout.cshtml", "Runtime"),
17241724
e => e.AssertPair("RazorCodeGenerateStop", "Views/Shared/_Layout.cshtml", "Runtime"),
1725-
e => e.AssertSingleItem("AddSyntaxTrees", "Views_Shared__Layout_cshtml.g.cs")
1725+
e => e.AssertSingleItem("AddSyntaxTrees", "Views/Shared/_Layout_cshtml.g.cs")
17261726
);
17271727
}
17281728

@@ -2056,7 +2056,7 @@ public override void Process(TagHelperContext context, TagHelperOutput output)
20562056
e => e.AssertSingleItem("CheckAndRewriteTagHelpersStop", "Views/Shared/_Layout.cshtml"),
20572057
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Index.cshtml", "Runtime"),
20582058
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.cshtml", "Runtime"),
2059-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Index_cshtml.g.cs")
2059+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Index_cshtml.g.cs")
20602060
);
20612061
}
20622062

@@ -2723,8 +2723,8 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.
27232723
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.razor", "Runtime"),
27242724
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Counter.razor", "Runtime"),
27252725
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Counter.razor", "Runtime"),
2726-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Index_razor.g.cs"),
2727-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Counter_razor.g.cs")
2726+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Index_razor.g.cs"),
2727+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Counter_razor.g.cs")
27282728
);
27292729

27302730
// flip the suppression state back to off
@@ -2845,8 +2845,8 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.
28452845
e => e.AssertSingleItem("CheckAndRewriteTagHelpersStop", "Pages/Index.razor"),
28462846
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Index.razor", "Runtime"),
28472847
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.razor", "Runtime"),
2848-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Index_razor.g.cs"),
2849-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Counter_razor.g.cs")
2848+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Index_razor.g.cs"),
2849+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Counter_razor.g.cs")
28502850
);
28512851

28522852
// Flip suppression on, change the compilation, no changes
@@ -2874,8 +2874,8 @@ public class MyViewComponent : Microsoft.AspNetCore.Mvc.ViewComponent{}
28742874
e => e.AssertSingleItem("CheckAndRewriteTagHelpersStop", "Pages/Index.razor"),
28752875
e => e.AssertSingleItem("CheckAndRewriteTagHelpersStart", "Pages/Counter.razor"),
28762876
e => e.AssertSingleItem("CheckAndRewriteTagHelpersStop", "Pages/Counter.razor"),
2877-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Index_razor.g.cs"),
2878-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Counter_razor.g.cs")
2877+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Index_razor.g.cs"),
2878+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Counter_razor.g.cs")
28792879
);
28802880

28812881
// Flip suppression on, change the parse options, no changes
@@ -2917,8 +2917,8 @@ public class MyViewComponent : Microsoft.AspNetCore.Mvc.ViewComponent{}
29172917
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.razor", "Runtime"),
29182918
e => e.AssertPair("RazorCodeGenerateStart", "Pages/Counter.razor", "Runtime"),
29192919
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Counter.razor", "Runtime"),
2920-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Index_razor.g.cs"),
2921-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_Counter_razor.g.cs")
2920+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Index_razor.g.cs"),
2921+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/Counter_razor.g.cs")
29222922
);
29232923

29242924
GeneratorDriver SetSuppressionState(bool state)
@@ -3570,7 +3570,7 @@ public async Task IncrementalCompilation_RerunsGenerator_When_AdditionalFileRena
35703570
e => e.AssertPair("RazorCodeGenerateStop", "Pages/Index.razor", "Runtime"),
35713571
e => e.AssertPair("RazorCodeGenerateStart", "Pages/NewCounter.razor", "Runtime"),
35723572
e => e.AssertPair("RazorCodeGenerateStop", "Pages/NewCounter.razor", "Runtime"),
3573-
e => e.AssertSingleItem("AddSyntaxTrees", "Pages_NewCounter_razor.g.cs")
3573+
e => e.AssertSingleItem("AddSyntaxTrees", "Pages/NewCounter_razor.g.cs")
35743574
);
35753575

35763576
// Verify the generated source has the correct namespace and class name
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.
2323
#nullable restore
2424
#line (1,39)-(1,50) 24 "Shared/Component1.razor"
2525
__builder.AddContent(2, RaiseHere()
26+
2627
#line default
2728
#line hidden
2829
#nullable disable

0 commit comments

Comments
 (0)