|
|
@@ -717,6 +717,45 @@ namespace Avalonia.Controls.UnitTests.Presenters
|
|
|
Assert.Equal(10, target.Panel.Children.Count);
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public void Scroll_To_Last_Should_Work()
|
|
|
+ {
|
|
|
+ var target = CreateTarget(itemCount: 11);
|
|
|
+ var scroller = (TestScroller)target.Parent;
|
|
|
+
|
|
|
+ scroller.Width = scroller.Height = 100;
|
|
|
+ scroller.LayoutManager.ExecuteInitialLayoutPass(scroller);
|
|
|
+
|
|
|
+ var last = (target.Items as IList)[10];
|
|
|
+
|
|
|
+ target.ScrollIntoView(last);
|
|
|
+
|
|
|
+ Assert.Equal(new Vector(0, 1), ((ILogicalScrollable)target).Offset);
|
|
|
+ Assert.Same(target.Panel.Children[9].DataContext, last);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void Second_Scroll_To_Last_Should_Work()
|
|
|
+ {
|
|
|
+ var target = CreateTarget(itemCount: 11);
|
|
|
+ var scroller = (TestScroller)target.Parent;
|
|
|
+
|
|
|
+ scroller.Width = scroller.Height = 100;
|
|
|
+ scroller.LayoutManager.ExecuteInitialLayoutPass(scroller);
|
|
|
+
|
|
|
+ var last = (target.Items as IList)[10];
|
|
|
+
|
|
|
+ target.ScrollIntoView(last);
|
|
|
+
|
|
|
+ Assert.Equal(new Vector(0, 1), ((ILogicalScrollable)target).Offset);
|
|
|
+ Assert.Same(target.Panel.Children[9].DataContext, last);
|
|
|
+
|
|
|
+ target.ScrollIntoView(last);
|
|
|
+
|
|
|
+ Assert.Equal(new Vector(0, 1), ((ILogicalScrollable)target).Offset);
|
|
|
+ Assert.Same(target.Panel.Children[9].DataContext, last);
|
|
|
+ }
|
|
|
+
|
|
|
public class Vertical
|
|
|
{
|
|
|
[Fact]
|
|
|
@@ -1090,4 +1129,4 @@ namespace Avalonia.Controls.UnitTests.Presenters
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|