From 44f6d12157fc16cd2df27fdf9b2fa95ae1542f41 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sat, 7 Jan 2017 19:21:04 +0100 Subject: [PATCH] Add failing test for #834. --- .../ListBoxTests.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/Avalonia.Controls.UnitTests/ListBoxTests.cs b/tests/Avalonia.Controls.UnitTests/ListBoxTests.cs index f8eea8c4eb..a588e88eb2 100644 --- a/tests/Avalonia.Controls.UnitTests/ListBoxTests.cs +++ b/tests/Avalonia.Controls.UnitTests/ListBoxTests.cs @@ -153,6 +153,23 @@ namespace Avalonia.Controls.UnitTests Assert.False(((ListBoxItem)target.Presenter.Panel.Children[0]).IsSelected); } + [Fact] + public void ScrollViewer_Should_Have_Correct_Extent_And_Viewport() + { + var target = new ListBox + { + Template = ListBoxTemplate(), + Items = Enumerable.Range(0, 20).Select(x => $"Item {x}").ToList(), + ItemTemplate = new FuncDataTemplate(x => new TextBlock { Width = 20, Height = 10 }), + SelectedIndex = 0, + }; + + Prepare(target); + + Assert.Equal(new Size(20, 20), target.Scroll.Extent); + Assert.Equal(new Size(100, 10), target.Scroll.Viewport); + } + private FuncControlTemplate ListBoxTemplate() { return new FuncControlTemplate(parent => @@ -233,6 +250,7 @@ namespace Avalonia.Controls.UnitTests i.InvalidateMeasure(); } + target.Measure(new Size(100, 100)); target.Arrange(new Rect(0, 0, 100, 100)); }