Browse Source

Add failing test for #834.

Steven Kirk 9 years ago
parent
commit
44f6d12157
1 changed files with 18 additions and 0 deletions
  1. 18 0
      tests/Avalonia.Controls.UnitTests/ListBoxTests.cs

+ 18 - 0
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<string>(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<ListBox>(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));
         }