This commit is contained in:
kicsiede 2018-02-07 01:51:46 +01:00 коммит произвёл Rui Marinho
Родитель 29ad85ff19
Коммит a2fee1d21e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 924E81B5DB553385
1 изменённых файлов: 35 добавлений и 1 удалений

Просмотреть файл

@ -559,6 +559,26 @@ namespace Xamarin.Forms.Core.UnitTests
Assert.That (popped, Is.Null);
Assert.That (navPage.CurrentPage, Is.SameAs (root));
}
[Test]
[Property("Bugzilla", 31171)]
public async Task ReleasesPoppedPage()
{
var root = new ContentPage { Title = "Root" };
var navPage = new NavigationPage(root);
var isFinalized = false;
await navPage.PushAsync(new PageWithFinalizer(() => isFinalized = true));
await navPage.PopAsync();
await Task.Delay(100);
GC.Collect();
GC.WaitForPendingFinalizers();
Assert.IsTrue(isFinalized);
}
}
internal class BackButtonPage : ContentPage
@ -574,4 +594,18 @@ namespace Xamarin.Forms.Core.UnitTests
return Handle;
}
}
}
internal class PageWithFinalizer : Page
{
Action OnFinalize;
public PageWithFinalizer(Action onFinalize)
{
OnFinalize = onFinalize;
}
~PageWithFinalizer()
{
OnFinalize();
}
}
}