Skip to content

Commit

Permalink
Fix reliability of RemoveLastPage test (#13663)
Browse files Browse the repository at this point in the history
  • Loading branch information
PureWeen committed Mar 3, 2023
1 parent c5d9e5f commit 09b3aa1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 18 deletions.
27 changes: 10 additions & 17 deletions src/Controls/tests/Core.UnitTests/NavigationPageLifecycleTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,30 +91,23 @@ public async Task PopLifeCycle(bool useMaui)
[InlineData(true)]
public async Task RemoveLastPage(bool useMaui)
{
ContentPage initialPage = new ContentPage();
ContentPage pushedPage = new ContentPage();
var initialPage = new PageLifeCycleTests.LCPage();
var pushedPage = new PageLifeCycleTests.LCPage();

ContentPage initialPageAppearing = null;
ContentPage pageDisappeared = null;

NavigationPage nav = new TestNavigationPage(useMaui, initialPage);
var nav = new TestNavigationPage(useMaui, initialPage);
_ = new TestWindow(nav);
nav.SendAppearing();

initialPage.Appearing += (sender, _)
=> initialPageAppearing = (ContentPage)sender;

pushedPage.Disappearing += (sender, _)
=> pageDisappeared = (ContentPage)sender;

await nav.PushAsync(pushedPage);
Assert.Null(initialPageAppearing);
Assert.Null(pageDisappeared);
Assert.Equal(1, initialPage.AppearingCount);
Assert.Equal(1, pushedPage.AppearingCount);
Assert.Equal(0, pushedPage.DisappearingCount);

nav.Navigation.RemovePage(pushedPage);
await nav.NavigatingTask;

Assert.Equal(initialPageAppearing, initialPage);
Assert.Equal(pageDisappeared, pushedPage);
Assert.Equal(2, initialPage.AppearingCount);
Assert.Equal(1, pushedPage.AppearingCount);
Assert.Equal(1, pushedPage.DisappearingCount);
}

[Theory]
Expand Down
2 changes: 1 addition & 1 deletion src/Controls/tests/Core.UnitTests/PageLifeCycleTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ public async Task PushSecondModalPage()
Assert.Equal(1, firstModalPage.AppearingCount);
}

class LCPage : ContentPage
public class LCPage : ContentPage
{
public NavigatedFromEventArgs NavigatedFromArgs { get; private set; }
public NavigatingFromEventArgs NavigatingFromArgs { get; private set; }
Expand Down

0 comments on commit 09b3aa1

Please sign in to comment.