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); }
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); }
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); }
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); }
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); }