Example #1
0
        public async Task DoesNotHandleBackButtonWhenNoNavStack(bool useMaui)
        {
            var root = new ContentPage {
                Title = "Root"
            };
            var navPage = new TestNavigationPage(useMaui, root);

            var result = await navPage.SendBackButtonPressedAsync();

            Assert.False(result);
        }
Example #2
0
        public async Task SendsBackButtonEventToCurrentPage(bool useMaui)
        {
            var current = new BackButtonPage();
            var navPage = new TestNavigationPage(useMaui, current);

            var emitted = false;

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

            await navPage.SendBackButtonPressedAsync();

            Assert.True(emitted);
        }
Example #3
0
        public async Task NavigatesBackWhenBackButtonPressed(bool useMaui)
        {
            var root = new ContentPage {
                Title = "Root"
            };
            var navPage = new TestNavigationPage(useMaui, root);

            await navPage.PushAsync(new ContentPage());

            var result = await navPage.SendBackButtonPressedAsync();

            Assert.AreEqual(root, navPage.CurrentPage);
            Assert.True(result);
        }
Example #4
0
        public async Task DoesNotSendBackEventToNonCurrentPage(bool useMaui)
        {
            var current = new BackButtonPage();
            var navPage = new TestNavigationPage(useMaui, current);

            navPage.PushAsync(new ContentPage());

            var emitted = false;

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

            await navPage.SendBackButtonPressedAsync();

            Assert.False(emitted);
        }
Example #5
0
        public async Task DoesNotNavigatesBackWhenBackButtonPressedIfHandled(bool useMaui)
        {
            var root = new BackButtonPage {
                Title = "Root"
            };
            var second = new BackButtonPage()
            {
                Handle = true
            };
            var navPage = new TestNavigationPage(useMaui, root);

            await navPage.PushAsync(second);

            await navPage.SendBackButtonPressedAsync();

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