Added Template property to RouteTemplate
This commit is contained in:
parent
f4f6c1127f
commit
cef221f57a
|
|
@ -13,13 +13,15 @@ namespace Microsoft.AspNet.Routing.Template
|
|||
{
|
||||
private const string SeparatorString = "/";
|
||||
|
||||
public RouteTemplate(List<TemplateSegment> segments)
|
||||
public RouteTemplate(string template, List<TemplateSegment> segments)
|
||||
{
|
||||
if (segments == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(segments));
|
||||
}
|
||||
|
||||
Template = template;
|
||||
|
||||
Segments = segments;
|
||||
|
||||
Parameters = new List<TemplatePart>();
|
||||
|
|
@ -37,9 +39,11 @@ namespace Microsoft.AspNet.Routing.Template
|
|||
}
|
||||
}
|
||||
|
||||
public IList<TemplatePart> Parameters { get; private set; }
|
||||
public string Template { get; }
|
||||
|
||||
public IList<TemplateSegment> Segments { get; private set; }
|
||||
public IList<TemplatePart> Parameters { get; }
|
||||
|
||||
public IList<TemplateSegment> Segments { get; }
|
||||
|
||||
public TemplateSegment GetSegment(int index)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ namespace Microsoft.AspNet.Routing.Template
|
|||
|
||||
if (IsAllValid(context, segments))
|
||||
{
|
||||
return new RouteTemplate(segments);
|
||||
return new RouteTemplate(routeTemplate, segments);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "cool";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateLiteral("cool"));
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(
|
||||
TemplatePart.CreateParameter("p", false, false, defaultValue: null, inlineConstraints: null));
|
||||
|
|
@ -57,7 +57,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p?}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(
|
||||
TemplatePart.CreateParameter("p", false, true, defaultValue: null, inlineConstraints: null));
|
||||
|
|
@ -76,7 +76,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "cool/awesome/super";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateLiteral("cool"));
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
|
|
@ -97,7 +97,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}/{p2}/{*p3}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
|
|
@ -136,7 +136,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "cool-{p1}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateLiteral("cool-"));
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
|
|
@ -159,7 +159,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}-cool";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
false,
|
||||
|
|
@ -182,7 +182,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}-cool-{p2}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
false,
|
||||
|
|
@ -211,7 +211,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "cool-{p1}-awesome";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateLiteral("cool-"));
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
|
|
@ -235,7 +235,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}.{p2?}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
false,
|
||||
|
|
@ -265,7 +265,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}.{p2}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
false,
|
||||
|
|
@ -295,7 +295,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}.{p2}.{p3?}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
false,
|
||||
|
|
@ -334,7 +334,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}.{p2}.{p3}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
false,
|
||||
|
|
@ -373,7 +373,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}.{p2?}/{p3}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
false,
|
||||
|
|
@ -409,7 +409,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p1}/{p2}.{p3?}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p1",
|
||||
false,
|
||||
|
|
@ -446,7 +446,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
// Arrange
|
||||
var template = "{p2}/.{p3?}";
|
||||
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
expected.Segments[0].Parts.Add(TemplatePart.CreateParameter("p2",
|
||||
false,
|
||||
|
|
@ -480,7 +480,7 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
public void Parse_RegularExpressions(string template, string constraint)
|
||||
{
|
||||
// Arrange
|
||||
var expected = new RouteTemplate(new List<TemplateSegment>());
|
||||
var expected = new RouteTemplate(template, new List<TemplateSegment>());
|
||||
expected.Segments.Add(new TemplateSegment());
|
||||
var c = new InlineConstraint(constraint);
|
||||
expected.Segments[0].Parts.Add(
|
||||
|
|
@ -830,6 +830,11 @@ namespace Microsoft.AspNet.Routing.Template.Tests
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!string.Equals(x.Template, y.Template, StringComparison.Ordinal))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (x.Segments.Count != y.Segments.Count)
|
||||
{
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue