コード例 #1
0
        public void EmitsCorrectlyWhenPresentedOnBackPressed()
        {
            var detail = new BackButtonPage();
            var master = new BackButtonPage {
                Title = "Master"
            };
            var mdp = new MasterDetailPage {
                Detail            = detail,
                Master            = master,
                IsPresented       = true,
                IsPlatformEnabled = true,
            };

            ((IMasterDetailPageController)mdp).BackButtonPressed += (sender, args) => {
                args.Handled    = mdp.IsPresented;
                mdp.IsPresented = false;
            };

            var detailEmitted = false;
            var masterEmitted = false;

            detail.BackPressed += (sender, args) => detailEmitted = true;
            master.BackPressed += (sender, args) => masterEmitted = true;

            var result = mdp.SendBackButtonPressed();

            Assert.True(masterEmitted);
            Assert.False(detailEmitted);
            Assert.True(result);
        }
コード例 #2
0
ファイル: NavigationUnitTest.cs プロジェクト: zmtzawqlp/maui
        public void SendsBackButtonEventToCurrentPage()
        {
            var current = new BackButtonPage();
            var navPage = new NavigationPage(current);

            var emitted = false;

            current.BackPressed += (sender, args) => emitted = true;

            navPage.SendBackButtonPressed();

            Assert.True(emitted);
        }
コード例 #3
0
ファイル: NavigationUnitTest.cs プロジェクト: zmtzawqlp/maui
        public void DoesNotSendBackEventToNonCurrentPage()
        {
            var current = new BackButtonPage();
            var navPage = new NavigationPage(current);

            navPage.PushAsync(new ContentPage());

            var emitted = false;

            current.BackPressed += (sender, args) => emitted = true;

            navPage.SendBackButtonPressed();

            Assert.False(emitted);
        }
コード例 #4
0
ファイル: NavigationUnitTest.cs プロジェクト: zmtzawqlp/maui
        public async Task DoesNotNavigatesBackWhenBackButtonPressedIfHandled()
        {
            var root = new BackButtonPage {
                Title = "Root"
            };
            var second = new BackButtonPage()
            {
                Handle = true
            };
            var navPage = new NavigationPage(root);

            await navPage.PushAsync(second);

            navPage.SendBackButtonPressed();

            Assert.AreEqual(second, navPage.CurrentPage);
        }