private static void SetupRoutes() { // two built-in cases/handlers RoutingService.MapRoute(ABOUT_BLANK, new NavigationContentHandler((p) => new Themes.AboutBlank())); RoutingService.MapRoute(ABOUT_ERROR, new NavigationContentHandler((p) => new Themes.AboutError())); // this listens to any new elements being registered Resource <IRouteHandler> .Catalog.CollectionChanged += Route_CollectionChanged; }
public void ItShouldBePossibleToHandleUrlWithParameterSetValueOnly() { IRoutingHandler rs = new RoutingService(); rs.LoadControllers(new[] { typeof(MockController) }); rs.MapRoute("", "~/{controller}/Fuffa/{id}", new { Controller = "Mock", Action = "Index", Id = RoutingParameter.Optional }); var ctx = CreateRequest("http://127.0.0.1/Mock/Fuffa"); var result = rs.Resolve(ctx.Request.Url.LocalPath, ctx); Assert.IsNotNull(result); Assert.AreEqual(2, result.Parameters.Count); Assert.IsTrue(result.Parameters.ContainsKey("controller")); Assert.AreEqual("Mock", result.Parameters["controller"]); Assert.IsTrue(result.Parameters.ContainsKey("action")); Assert.AreEqual("Index", result.Parameters["action"]); }
public void ItShouldBePossibleToDistinguishTwoDifferentRequest() { IRoutingHandler rs = new RoutingService(); rs.LoadControllers(new[] { typeof(MockController) }); rs.MapRoute("", "~/{controller}/Index/{id}", new { Controller = "Mock", Action = "MethodIndex", Id = RoutingParameter.Optional }); rs.MapRoute("", "~/{controller}/Test/{id}", new { Controller = "Mock", Action = "MethodTest", Id = RoutingParameter.Optional }); var ctx = CreateRequest("http://127.0.0.1/Mock/Index"); var result = rs.Resolve(ctx.Request.Url.LocalPath, ctx); Assert.IsNotNull(result); Assert.AreEqual(2, result.Parameters.Count); Assert.IsTrue(result.Parameters.ContainsKey("controller")); Assert.AreEqual("Mock", result.Parameters["controller"]); Assert.IsTrue(result.Parameters.ContainsKey("action")); Assert.AreEqual("MethodIndex", result.Parameters["action"]); ctx = CreateRequest("http://127.0.0.1/Mock/Test"); result = rs.Resolve(ctx.Request.Url.LocalPath, ctx); Assert.IsNotNull(result); Assert.AreEqual(2, result.Parameters.Count); Assert.IsTrue(result.Parameters.ContainsKey("controller")); Assert.AreEqual("Mock", result.Parameters["controller"]); Assert.IsTrue(result.Parameters.ContainsKey("action")); Assert.AreEqual("MethodTest", result.Parameters["action"]); }