public void HandlesRouteWithoutDefaults() { var route = new Route("hello/world", null, null); var routeInfo = new RouteInfo(); var defaultsProcessor = new DefaultsProcessor(); defaultsProcessor.ProcessDefaults(route, routeInfo); Assert.AreEqual(0, routeInfo.Defaults.Count); Assert.AreEqual(0, routeInfo.Optional.Count); }
public void HandlesOptionalParameters() { var routes = new RouteCollection(); routes.MapRoute( name: "Hello", url: "hello/world/{id}", defaults: new { controller = "Hello", action = "HelloWorld", id = UrlParameter.Optional } ); var routeInfo = new RouteInfo(); var defaultsProcessor = new DefaultsProcessor(); defaultsProcessor.ProcessDefaults((Route)routes["Hello"], routeInfo); Assert.IsTrue(routeInfo.Optional.Contains("id")); }
public void HandlesAreas() { var routes = new RouteCollection(); var areaReg = new AreaRegistrationContext("Foobar", routes); areaReg.MapRoute( name: "Hello", url: "hello/world", defaults: new { controller = "Hello", action = "HelloWorld" } ); var routeInfo = new RouteInfo(); var defaultsProcessor = new DefaultsProcessor(); defaultsProcessor.ProcessDefaults((Route)routes["Hello"], routeInfo); Assert.AreEqual("Foobar", routeInfo.Defaults["area"]); }
public void HandlesMvcControllerAndAction() { var routes = new RouteCollection(); routes.MapRoute( name: "Hello", url: "hello/world", defaults: new { controller = "Hello", action = "HelloWorld" } ); var routeInfo = new RouteInfo(); var defaultsProcessor = new DefaultsProcessor(); defaultsProcessor.ProcessDefaults((Route)routes["Hello"], routeInfo); Assert.AreEqual("Hello", routeInfo.Defaults["controller"]); Assert.AreEqual("HelloWorld", routeInfo.Defaults["action"]); }
public void HandlesTwoOptionalParameters() { var routes = new RouteCollection(); routes.MapRoute( name: "Hello", url: "hello/world/{first}/{second}", defaults: new { controller = "Hello", action = "Index", first = UrlParameter.Optional, second = UrlParameter.Optional } ); var processor = new DefaultsProcessor(); var routeInfo = new RouteInfo(); processor.ProcessDefaults((Route)routes["Hello"], routeInfo); Assert.AreEqual(2, routeInfo.Defaults.Count); Assert.AreEqual(2, routeInfo.Optional.Count); Assert.AreEqual("first", routeInfo.Optional[0]); Assert.AreEqual("second", routeInfo.Optional[1]); }
public void HandlesOneOptionalParameter() { var routes = new RouteCollection(); routes.MapRoute( name: "Hello", url: "hello/world/{id}", defaults: new { controller = "Hello", action = "Index", id = UrlParameter.Optional } ); var processor = new DefaultsProcessor(); var routeInfo = new RouteInfo(); processor.ProcessDefaults((Route)routes["Hello"], routeInfo); Assert.AreEqual(2, routeInfo.Defaults.Count); Assert.AreEqual("Hello", routeInfo.Defaults["controller"]); Assert.AreEqual("Index", routeInfo.Defaults["action"]); Assert.AreEqual(1, routeInfo.Optional.Count); Assert.AreEqual("id", routeInfo.Optional[0]); }