Skip to content

Commit

Permalink
Add extra tests
Browse files Browse the repository at this point in the history
  • Loading branch information
chsienki committed Sep 20, 2024
1 parent b345449 commit 1309db8
Show file tree
Hide file tree
Showing 15 changed files with 229 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5564,6 +5564,20 @@ public void PageDirective_NoForwardSlash()
CompileToAssembly(generated);
}

[IntegrationTestFact, WorkItem("https://github.com/dotnet/razor/issues/10863")]
public void PageDirective_NoForwardSlash_WithComment()
{
// Act
var generated = CompileToCSharp("""
@page /* comment */ "MyPage"
""");

// Assert
AssertDocumentNodeMatchesBaseline(generated.CodeDocument);
AssertCSharpDocumentMatchesBaseline(generated.CodeDocument);
CompileToAssembly(generated);
}

[IntegrationTestFact, WorkItem("https://github.com/dotnet/razor/issues/10863")]
public void PageDirective_MissingRoute()
{
Expand All @@ -5580,6 +5594,22 @@ public void PageDirective_MissingRoute()
CompileToAssembly(generated);
}

[IntegrationTestFact, WorkItem("https://github.com/dotnet/razor/issues/10863")]
public void PageDirective_MissingRoute_WithComment()
{
// Act
var generated = CompileToCSharp("""
@page /* comment */
""");

// Assert
AssertDocumentNodeMatchesBaseline(generated.CodeDocument);

// Design time writer doesn't correctly emit pragmas for missing tokens, so don't validate them in design time
AssertCSharpDocumentMatchesBaseline(generated.CodeDocument, verifyLinePragmas: !DesignTime);
CompileToAssembly(generated);
}


#endregion

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// <auto-generated/>
#pragma warning disable 1591
namespace Test
{
#line default
using global::System;
using global::System.Collections.Generic;
using global::System.Linq;
using global::System.Threading.Tasks;
using global::Microsoft.AspNetCore.Components;
#line default
#line hidden
#nullable restore
public partial class TestComponent : global::Microsoft.AspNetCore.Components.ComponentBase
#nullable disable
{
#pragma warning disable 219
private void __RazorDirectiveTokenHelpers__() {
}
#pragma warning restore 219
#pragma warning disable 0414
private static object __o = null;
#pragma warning restore 0414
#pragma warning disable 1998
protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
}
#pragma warning restore 1998
}
}
#pragma warning restore 1591
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
x:\dir\subdir\Test\TestComponent.cshtml(1,20): Error RZ1012: Unexpected end of file following the 'page' directive. Expected 'string'.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Document -
NamespaceDeclaration - - Test
UsingDirective - (3:1,1 [20] ) - global::System
UsingDirective - (26:2,1 [40] ) - global::System.Collections.Generic
UsingDirective - (69:3,1 [25] ) - global::System.Linq
UsingDirective - (97:4,1 [36] ) - global::System.Threading.Tasks
UsingDirective - (136:5,1 [45] ) - global::Microsoft.AspNetCore.Components
ClassDeclaration - - public partial - TestComponent - global::Microsoft.AspNetCore.Components.ComponentBase -
DesignTimeDirective -
CSharpCode -
IntermediateToken - - CSharp - #pragma warning disable 0414
CSharpCode -
IntermediateToken - - CSharp - private static object __o = null;
CSharpCode -
IntermediateToken - - CSharp - #pragma warning restore 0414
MethodDeclaration - - protected override - void - BuildRenderTree
MalformedDirective - (0:0,0 [19] x:\dir\subdir\Test\TestComponent.cshtml) - page
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// <auto-generated/>
#pragma warning disable 1591
namespace Test
{
#line default
using global::System;
using global::System.Collections.Generic;
using global::System.Linq;
using global::System.Threading.Tasks;
using global::Microsoft.AspNetCore.Components;
#line default
#line hidden
#nullable restore
public partial class TestComponent : global::Microsoft.AspNetCore.Components.ComponentBase
#nullable disable
{
#pragma warning disable 219
private void __RazorDirectiveTokenHelpers__() {
((global::System.Action)(() => {
// language=Route,Component
#nullable restore
#line 1 "x:\dir\subdir\Test\TestComponent.cshtml"
global::System.Object __typeHelper = "MyPage";
#line default
#line hidden
#nullable disable
}
))();
}
#pragma warning restore 219
#pragma warning disable 0414
private static object __o = null;
#pragma warning restore 0414
#pragma warning disable 1998
protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
}
#pragma warning restore 1998
}
}
#pragma warning restore 1591
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
x:\dir\subdir\Test\TestComponent.cshtml(1,1): Error RZ9988: The @page directive must specify a route template. The route template must be enclosed in quotes and begin with the '/' character.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Document -
NamespaceDeclaration - - Test
UsingDirective - (3:1,1 [20] ) - global::System
UsingDirective - (26:2,1 [40] ) - global::System.Collections.Generic
UsingDirective - (69:3,1 [25] ) - global::System.Linq
UsingDirective - (97:4,1 [36] ) - global::System.Threading.Tasks
UsingDirective - (136:5,1 [45] ) - global::Microsoft.AspNetCore.Components
ClassDeclaration - - public partial - TestComponent - global::Microsoft.AspNetCore.Components.ComponentBase -
DesignTimeDirective -
DirectiveToken - (20:0,20 [8] x:\dir\subdir\Test\TestComponent.cshtml) - "MyPage"
CSharpCode -
IntermediateToken - - CSharp - #pragma warning disable 0414
CSharpCode -
IntermediateToken - - CSharp - private static object __o = null;
CSharpCode -
IntermediateToken - - CSharp - #pragma warning restore 0414
MethodDeclaration - - protected override - void - BuildRenderTree
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Source Location: (20:0,20 [8] x:\dir\subdir\Test\TestComponent.cshtml)
|"MyPage"|
Generated Location: (749:22,37 [8] )
|"MyPage"|

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// <auto-generated/>
#pragma warning disable 1591
namespace Test
{
#line default
using global::System;
using global::System.Collections.Generic;
using global::System.Linq;
using global::System.Threading.Tasks;
using global::Microsoft.AspNetCore.Components;
#line default
#line hidden
#nullable restore
public partial class TestComponent : global::Microsoft.AspNetCore.Components.ComponentBase
#nullable disable
{
#pragma warning disable 1998
protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
}
#pragma warning restore 1998
}
}
#pragma warning restore 1591
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
x:\dir\subdir\Test\TestComponent.cshtml(1,20): Error RZ1012: Unexpected end of file following the 'page' directive. Expected 'string'.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Document -
NamespaceDeclaration - - Test
UsingDirective - (3:1,1 [22] ) - global::System
UsingDirective - (26:2,1 [42] ) - global::System.Collections.Generic
UsingDirective - (69:3,1 [27] ) - global::System.Linq
UsingDirective - (97:4,1 [38] ) - global::System.Threading.Tasks
UsingDirective - (136:5,1 [47] ) - global::Microsoft.AspNetCore.Components
ClassDeclaration - - public partial - TestComponent - global::Microsoft.AspNetCore.Components.ComponentBase -
MethodDeclaration - - protected override - void - BuildRenderTree
MalformedDirective - (0:0,0 [19] x:\dir\subdir\Test\TestComponent.cshtml) - page
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// <auto-generated/>
#pragma warning disable 1591
namespace Test
{
#line default
using global::System;
using global::System.Collections.Generic;
using global::System.Linq;
using global::System.Threading.Tasks;
using global::Microsoft.AspNetCore.Components;
#line default
#line hidden
[global::Microsoft.AspNetCore.Components.RouteAttribute(
// language=Route,Component
#nullable restore
#line (1,21)-(1,29) "x:\dir\subdir\Test\TestComponent.cshtml"
"MyPage"
#line default
#line hidden
#nullable disable
)]
#nullable restore
public partial class TestComponent : global::Microsoft.AspNetCore.Components.ComponentBase
#nullable disable
{
#pragma warning disable 1998
protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
}
#pragma warning restore 1998
}
}
#pragma warning restore 1591
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
x:\dir\subdir\Test\TestComponent.cshtml(1,1): Error RZ9988: The @page directive must specify a route template. The route template must be enclosed in quotes and begin with the '/' character.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Document -
NamespaceDeclaration - - Test
UsingDirective - (3:1,1 [22] ) - global::System
UsingDirective - (26:2,1 [42] ) - global::System.Collections.Generic
UsingDirective - (69:3,1 [27] ) - global::System.Linq
UsingDirective - (97:4,1 [38] ) - global::System.Threading.Tasks
UsingDirective - (136:5,1 [47] ) - global::Microsoft.AspNetCore.Components
RouteAttributeExtensionNode - (20:0,20 [8] x:\dir\subdir\Test\TestComponent.cshtml) - "MyPage"
ClassDeclaration - - public partial - TestComponent - global::Microsoft.AspNetCore.Components.ComponentBase -
MethodDeclaration - - protected override - void - BuildRenderTree
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Source Location: (20:0,20 [8] x:\dir\subdir\Test\TestComponent.cshtml)
|"MyPage"|
Generated Location: (505:16,0 [8] )
|"MyPage"|

0 comments on commit 1309db8

Please sign in to comment.