コード例 #1
0
        public async Task InitialNavigatingArgs()
        {
            var shell = new TestShell(
                CreateShellItem(shellItemRoute: "item")
                );

            shell.TestNavigationArgs(ShellNavigationSource.ShellItemChanged,
                                     null, "//item");
        }
コード例 #2
0
        public async Task ChangingShellItemSetsCorrectNavigationSource()
        {
            var shell = new TestShell(
                CreateShellItem(shellItemRoute: "item1"),
                CreateShellItem(shellItemRoute: "item2")
                );

            await shell.GoToAsync("//item2");

            shell.TestNavigationArgs(ShellNavigationSource.ShellItemChanged,
                                     "//item1", "//item2");
        }
コード例 #3
0
        public async Task ChangingShellContentSetsCorrectNavigationSource()
        {
            var shell = new TestShell(
                CreateShellItem(shellContentRoute: "item1")
                );

            shell.Items[0].Items[0].Items.Add(CreateShellContent(shellContentRoute: "item2"));

            await shell.GoToAsync("//item2");

            shell.TestNavigationArgs(ShellNavigationSource.ShellContentChanged,
                                     "//item1", "//item2");
        }
コード例 #4
0
        public async Task InsertPageSetsCorrectNavigationSource()
        {
            Routing.RegisterRoute("pagemiddle", typeof(ContentPage));
            Routing.RegisterRoute("page", typeof(ContentPage));
            var shell = new TestShell(
                CreateShellItem(shellItemRoute: "item")
                );

            await shell.GoToAsync("//item/page");

            await shell.GoToAsync("//item/pagemiddle/page");

            shell.TestNavigationArgs(ShellNavigationSource.Insert,
                                     "//item/page", "//item/pagemiddle/page");
        }
コード例 #5
0
        public async Task InsertPageFromNavigationSetsCorrectNavigationSource()
        {
            Routing.RegisterRoute("pagemiddle", typeof(ContentPage));
            Routing.RegisterRoute("page", typeof(ContentPage));
            var shell = new TestShell(
                CreateShellItem(shellItemRoute: "item")
                );

            await shell.GoToAsync("//item/page");

            ContentPage contentPage = new ContentPage();

            Routing.SetRoute(contentPage, "pagemiddle");
            shell.Navigation.InsertPageBefore(contentPage, shell.Navigation.NavigationStack.Last());

            shell.TestNavigationArgs(ShellNavigationSource.Insert,
                                     "//item/page", "//item/pagemiddle/page");
        }