コード例 #1
0
ファイル: ShellUriHandlerTests.cs プロジェクト: sung-su/maui
        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());
        }
コード例 #2
0
        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());
        }
コード例 #3
0
ファイル: ShellUriHandlerTests.cs プロジェクト: sung-su/maui
        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());
        }