From 7dbe277653ad777ab5ca1c06c1d154114c0eeda5 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 9 Mar 2023 16:28:21 +0100 Subject: [PATCH] More lifecycle event tests with virtualization. --- .../VirtualizingStackPanelTests.cs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/Avalonia.Controls.UnitTests/VirtualizingStackPanelTests.cs b/tests/Avalonia.Controls.UnitTests/VirtualizingStackPanelTests.cs index 2c86ca045e..42b419bbcc 100644 --- a/tests/Avalonia.Controls.UnitTests/VirtualizingStackPanelTests.cs +++ b/tests/Avalonia.Controls.UnitTests/VirtualizingStackPanelTests.cs @@ -406,6 +406,36 @@ namespace Avalonia.Controls.UnitTests } } + [Fact] + public void ContainerPrepared_Is_Raised_When_Scrolling() + { + using var app = App(); + var (target, scroll, itemsControl) = CreateTarget(); + var raised = 0; + + itemsControl.ContainerPrepared += (s, e) => ++raised; + + scroll.Offset = new Vector(0, 200); + Layout(target); + + Assert.Equal(10, raised); + } + + [Fact] + public void ContainerClearing_Is_Raised_When_Scrolling() + { + using var app = App(); + var (target, scroll, itemsControl) = CreateTarget(); + var raised = 0; + + itemsControl.ContainerClearing += (s, e) => ++raised; + + scroll.Offset = new Vector(0, 200); + Layout(target); + + Assert.Equal(10, raised); + } + private static IReadOnlyList GetRealizedIndexes(VirtualizingStackPanel target, ItemsControl itemsControl) { return target.GetRealizedElements()