diff --git a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/RoutingTestsBase.cs b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/RoutingTestsBase.cs
index 6430ff2005..c6def42f6f 100644
--- a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/RoutingTestsBase.cs
+++ b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/RoutingTestsBase.cs
@@ -1241,6 +1241,24 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
Assert.Equal(actionName, result.Action);
}
+ [Fact]
+ public async Task RazorPage_WithLinks_GeneratesLinksCorrectly()
+ {
+ // Arrange & Act
+ var response = await Client.GetAsync("http://localhost/PageWithLinks");
+
+ // Assert
+ Assert.Equal(HttpStatusCode.OK, response.StatusCode);
+
+ var document = await response.GetHtmlDocumentAsync();
+
+ var editLink = document.RequiredQuerySelector("#editlink");
+ Assert.Equal("/Edit/10", editLink.GetAttribute("href"));
+
+ var contactLink = document.RequiredQuerySelector("#contactlink");
+ Assert.Equal("/Home/Contact", contactLink.GetAttribute("href"));
+ }
+
protected static LinkBuilder LinkFrom(string url)
{
return new LinkBuilder(url);
diff --git a/test/WebSites/RoutingWebSite/Pages/Edit.cshtml b/test/WebSites/RoutingWebSite/Pages/Edit.cshtml
new file mode 100644
index 0000000000..b7f2033dc9
--- /dev/null
+++ b/test/WebSites/RoutingWebSite/Pages/Edit.cshtml
@@ -0,0 +1,3 @@
+@page "{id}"
+
+Hello from Edit page
diff --git a/test/WebSites/RoutingWebSite/Pages/PageWithLinks.cshtml b/test/WebSites/RoutingWebSite/Pages/PageWithLinks.cshtml
new file mode 100644
index 0000000000..660d9443f4
--- /dev/null
+++ b/test/WebSites/RoutingWebSite/Pages/PageWithLinks.cshtml
@@ -0,0 +1,8 @@
+@page
+@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
+@{
+}
+
+Edit
+
+Contact