rebase changes

This commit is contained in:
Kiran Challa 2018-08-03 12:45:31 -07:00
parent 09ce9c3041
commit 4d706f045f
2 changed files with 16 additions and 16 deletions

View File

@ -108,10 +108,11 @@ namespace Microsoft.AspNetCore.Routing
new RouteTemplate(endpoint.RoutePattern), new RouteTemplate(endpoint.RoutePattern),
new RouteValueDictionary(endpoint.RoutePattern.Defaults)); new RouteValueDictionary(endpoint.RoutePattern.Defaults));
var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata<IRouteValuesAddressMetadata>();
var templateValuesResult = templateBinder.GetValues( var templateValuesResult = templateBinder.GetValues(
ambientValues: ambientValues, ambientValues: ambientValues,
explicitValues: explicitValues, explicitValues: explicitValues,
requiredKeys: endpoint.RequiredValues.Keys); requiredKeys: routeValuesAddressMetadata?.RequiredValues.Keys);
if (templateValuesResult == null) if (templateValuesResult == null)
{ {
// We're missing one of the required values for this route. // We're missing one of the required values for this route.

View File

@ -1311,9 +1311,10 @@ namespace Microsoft.AspNetCore.Routing
// Arrange // Arrange
var endpoint1 = EndpointFactory.CreateMatcherEndpoint( var endpoint1 = EndpointFactory.CreateMatcherEndpoint(
"Product/Edit/{id}", "Product/Edit/{id}",
requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
metadata: new RouteNameMetadata("EditProduct")); metadata: new RouteValuesAddressMetadata(
"EditProduct",
new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null })));
var linkGenerator = CreateLinkGenerator(endpoint1); var linkGenerator = CreateLinkGenerator(endpoint1);
// Act // Act
@ -1334,14 +1335,16 @@ namespace Microsoft.AspNetCore.Routing
// Arrange // Arrange
var endpoint1 = EndpointFactory.CreateMatcherEndpoint( var endpoint1 = EndpointFactory.CreateMatcherEndpoint(
"Product/Edit/{id}", "Product/Edit/{id}",
requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
metadata: new RouteNameMetadata("default")); metadata: new RouteValuesAddressMetadata(
"default",
new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null })));
var endpoint2 = EndpointFactory.CreateMatcherEndpoint( var endpoint2 = EndpointFactory.CreateMatcherEndpoint(
"Product/Details/{id}", "Product/Details/{id}",
requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null },
metadata: new RouteNameMetadata("default")); metadata: new RouteValuesAddressMetadata(
"default",
new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null })));
var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2);
// Act // Act
@ -1528,6 +1531,11 @@ namespace Microsoft.AspNetCore.Routing
} }
} }
private interface INameMetadata
{
string Name { get; }
}
private class NameMetadata : INameMetadata private class NameMetadata : INameMetadata
{ {
public NameMetadata(string name) public NameMetadata(string name)
@ -1536,14 +1544,5 @@ namespace Microsoft.AspNetCore.Routing
} }
public string Name { get; } public string Name { get; }
} }
private class RouteNameMetadata : IRouteNameMetadata
{
public RouteNameMetadata(string name)
{
Name = name;
}
public string Name { get; }
}
} }
} }