/// <summary> /// Intercepts the route definition before the route is output to JavaScript /// </summary> /// <param name="definition">Route definition to manipulate</param> /// <returns> /// Value indicating whether to add the route after the interception /// </returns> public bool Intercept(RouteDefinition definition) { var constraints = from constraint in (definition.Route.Constraints ?? new RouteValueDictionary()) where constraint.Value != null where constraint.Value.GetType().GetInterfaces().Contains(constraintType) let attr = constraint.Value.GetType().GetCustomAttributes(attributeType, false).OfType<JsConstraintAttribute>().FirstOrDefault() where attr != null select new RouteConstraintDefinition(constraint.Key, attr.ConstraintName, serializer.Serialize(constraint.Value)); foreach (var constraintDefinition in constraints) definition.Constraints.Add(constraintDefinition); return true; }
public void ToJavaScript_ReturnsRouteManagerRouteDefinitionPattern() { var definition = new RouteDefinition(TestRoute) { Name = routeName }; Assert.Equal(expectedPattern, definition.ToJavaScript()); }
public void Ctr_SetsRouteProperty() { var route = TestRoute; var definition = new RouteDefinition(route); Assert.Same(route, definition.Route); }
public void Ctr_SetsUrlPatternProperty() { var route = TestRoute; var definition = new RouteDefinition(route); Assert.Same(route.Url, definition.UrlPattern); }
public bool Intercept(RouteDefinition definition) { return ReturnValue; }