|
|
|
@ -153,7 +153,30 @@ namespace Avalonia.Controls.UnitTests.Presenters |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Changing_VirtualizationMode_Simple_To_None_Should_Update_Scroll_Properties() |
|
|
|
public void Changing_VirtualizationMode_None_To_Simple_Should_Update_Control() |
|
|
|
{ |
|
|
|
var target = CreateTarget(mode: ItemVirtualizationMode.None); |
|
|
|
var scroll = (ScrollContentPresenter)target.Parent; |
|
|
|
|
|
|
|
target.ApplyTemplate(); |
|
|
|
scroll.Measure(new Size(100, 100)); |
|
|
|
scroll.Arrange(new Rect(0, 0, 100, 100)); |
|
|
|
|
|
|
|
Assert.Equal(20, target.Panel.Children.Count); |
|
|
|
Assert.Equal(new Size(10, 200), scroll.Extent); |
|
|
|
Assert.Equal(new Size(100, 100), scroll.Viewport); |
|
|
|
|
|
|
|
target.VirtualizationMode = ItemVirtualizationMode.Simple; |
|
|
|
scroll.Measure(new Size(100, 100)); |
|
|
|
scroll.Arrange(new Rect(0, 0, 100, 100)); |
|
|
|
|
|
|
|
Assert.Equal(10, target.Panel.Children.Count); |
|
|
|
Assert.Equal(new Size(0, 20), scroll.Extent); |
|
|
|
Assert.Equal(new Size(0, 10), scroll.Viewport); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Changing_VirtualizationMode_Simple_To_None_Should_Update_Control() |
|
|
|
{ |
|
|
|
var target = CreateTarget(); |
|
|
|
|
|
|
|
@ -167,10 +190,12 @@ namespace Avalonia.Controls.UnitTests.Presenters |
|
|
|
Assert.Equal(new Size(0, 10), scroll.Viewport); |
|
|
|
|
|
|
|
target.VirtualizationMode = ItemVirtualizationMode.None; |
|
|
|
scroll.Measure(new Size(100, 100)); |
|
|
|
scroll.Arrange(new Rect(0, 0, 100, 100)); |
|
|
|
|
|
|
|
Assert.Equal(20, target.Panel.Children.Count); |
|
|
|
Assert.Equal(new Size(0, 200), scroll.Extent); |
|
|
|
Assert.Equal(new Size(0, 100), scroll.Viewport); |
|
|
|
Assert.Equal(new Size(10, 200), scroll.Extent); |
|
|
|
Assert.Equal(new Size(100, 100), scroll.Viewport); |
|
|
|
} |
|
|
|
|
|
|
|
private static ItemsPresenter CreateTarget( |
|
|
|
|