Merge branch 'release/2.1' into release/2.2
This commit is contained in:
commit
deddb336b7
|
|
@ -1399,7 +1399,6 @@ namespace Microsoft.AspNetCore.Routing.Tree
|
||||||
Assert.Empty(pathData.DataTokens);
|
Assert.Empty(pathData.DataTokens);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void TreeRouter_GenerateLink_Match_WithParameters()
|
public void TreeRouter_GenerateLink_Match_WithParameters()
|
||||||
{
|
{
|
||||||
|
|
@ -1965,6 +1964,94 @@ namespace Microsoft.AspNetCore.Routing.Tree
|
||||||
Assert.DoesNotContain(nestedValues, kvp => kvp.Key == "category1");
|
Assert.DoesNotContain(nestedValues, kvp => kvp.Key == "category1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void TreeRouter_GenerateLink_MatchesNullRequiredValue_WithNullRequestValueString()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var builder = CreateBuilder();
|
||||||
|
var entry = MapOutboundEntry(
|
||||||
|
builder,
|
||||||
|
"Help/Store",
|
||||||
|
requiredValues: new { area = (string)null, action = "Edit", controller = "Store" });
|
||||||
|
var route = builder.Build();
|
||||||
|
var context = CreateVirtualPathContext(new { area = (string)null, action = "Edit", controller = "Store" });
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var pathData = route.GetVirtualPath(context);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(pathData);
|
||||||
|
Assert.Equal("/Help/Store", pathData.VirtualPath);
|
||||||
|
Assert.Same(route, pathData.Router);
|
||||||
|
Assert.Empty(pathData.DataTokens);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void TreeRouter_GenerateLink_MatchesNullRequiredValue_WithEmptyRequestValueString()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var builder = CreateBuilder();
|
||||||
|
var entry = MapOutboundEntry(
|
||||||
|
builder,
|
||||||
|
"Help/Store",
|
||||||
|
requiredValues: new { area = (string)null, action = "Edit", controller = "Store" });
|
||||||
|
var route = builder.Build();
|
||||||
|
var context = CreateVirtualPathContext(new { area = "", action = "Edit", controller = "Store" });
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var pathData = route.GetVirtualPath(context);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(pathData);
|
||||||
|
Assert.Equal("/Help/Store", pathData.VirtualPath);
|
||||||
|
Assert.Same(route, pathData.Router);
|
||||||
|
Assert.Empty(pathData.DataTokens);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void TreeRouter_GenerateLink_MatchesEmptyStringRequiredValue_WithNullRequestValueString()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var builder = CreateBuilder();
|
||||||
|
var entry = MapOutboundEntry(
|
||||||
|
builder,
|
||||||
|
"Help/Store",
|
||||||
|
requiredValues: new { foo = "", action = "Edit", controller = "Store" });
|
||||||
|
var route = builder.Build();
|
||||||
|
var context = CreateVirtualPathContext(new { foo = (string)null, action = "Edit", controller = "Store" });
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var pathData = route.GetVirtualPath(context);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(pathData);
|
||||||
|
Assert.Equal("/Help/Store", pathData.VirtualPath);
|
||||||
|
Assert.Same(route, pathData.Router);
|
||||||
|
Assert.Empty(pathData.DataTokens);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void TreeRouter_GenerateLink_MatchesEmptyStringRequiredValue_WithEmptyRequestValueString()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var builder = CreateBuilder();
|
||||||
|
var entry = MapOutboundEntry(
|
||||||
|
builder,
|
||||||
|
"Help/Store",
|
||||||
|
requiredValues: new { foo = "", action = "Edit", controller = "Store" });
|
||||||
|
var route = builder.Build();
|
||||||
|
var context = CreateVirtualPathContext(new { foo = "", action = "Edit", controller = "Store" });
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var pathData = route.GetVirtualPath(context);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(pathData);
|
||||||
|
Assert.Equal("/Help/Store", pathData.VirtualPath);
|
||||||
|
Assert.Same(route, pathData.Router);
|
||||||
|
Assert.Empty(pathData.DataTokens);
|
||||||
|
}
|
||||||
|
|
||||||
private static RouteContext CreateRouteContext(string requestPath)
|
private static RouteContext CreateRouteContext(string requestPath)
|
||||||
{
|
{
|
||||||
var request = new Mock<HttpRequest>(MockBehavior.Strict);
|
var request = new Mock<HttpRequest>(MockBehavior.Strict);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue