public async Task GlobalRegisterAbsoluteMatching() { var shell = new Shell(); Routing.RegisterRoute("/seg1/seg2/seg3", typeof(object)); var request = ShellUriHandler.GetNavigationRequest(shell, CreateUri("/seg1/seg2/seg3")); Assert.AreEqual("app://shell/IMPL_shell/seg1/seg2/seg3", request.Request.FullUri.ToString()); }
public async Task ShellSectionWithGlobalRouteAbsolute() { var shell = new Shell(); var item1 = CreateShellItem(asImplicit: true, shellContentRoute: "rootlevelcontent1", shellSectionRoute: "section1"); Routing.RegisterRoute("edit", typeof(ContentPage)); shell.Items.Add(item1); var request = ShellUriHandler.GetNavigationRequest(shell, CreateUri("//rootlevelcontent1/edit")); Assert.AreEqual(1, request.Request.GlobalRoutes.Count); Assert.AreEqual("edit", request.Request.GlobalRoutes.First()); }
public async Task ShellRelativeGlobalRegistration() { var shell = new Shell(); var item1 = CreateShellItem(asImplicit: true, shellItemRoute: "item1", shellContentRoute: "rootlevelcontent1", shellSectionRoute: "section1"); var item2 = CreateShellItem(asImplicit: true, shellItemRoute: "item2", shellContentRoute: "rootlevelcontent1", shellSectionRoute: "section1"); Routing.RegisterRoute("section0/edit", typeof(ContentPage)); Routing.RegisterRoute("item1/section1/edit", typeof(ContentPage)); Routing.RegisterRoute("item2/section1/edit", typeof(ContentPage)); Routing.RegisterRoute("//edit", typeof(ContentPage)); shell.Items.Add(item1); shell.Items.Add(item2); await shell.GoToAsync("//item1/section1/rootlevelcontent1"); var request = ShellUriHandler.GetNavigationRequest(shell, CreateUri("section1/edit"), true); Assert.AreEqual(1, request.Request.GlobalRoutes.Count); Assert.AreEqual("item1/section1/edit", request.Request.GlobalRoutes.First()); }