Skip to content

Commit 67fe50b

Browse files
committed
Test for BringIntoView for direct content
1 parent ecd4344 commit 67fe50b

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

dev/ScrollPresenter/APITests/ScrollPresenterTests.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,44 @@ public void ListenToContentEffectiveViewportChanged()
879879
});
880880
}
881881

882+
[TestMethod]
883+
[TestProperty("Description", "ScrollPresenter should handle BringIntoView for its direct content.")]
884+
public void HandleContentBringIntoView()
885+
{
886+
ScrollPresenter scrollPresenter = null;
887+
Rectangle rectangleScrollPresenterContent = null;
888+
AutoResetEvent scrollPresenterViewChangedEvent = new AutoResetEvent(false);
889+
AutoResetEvent scrollPresenterLoadedEvent = new AutoResetEvent(false);
890+
891+
RunOnUIThread.Execute(() =>
892+
{
893+
rectangleScrollPresenterContent = new Rectangle() { Margin = new Thickness(0, 500, 0, 0) };
894+
scrollPresenter = new ScrollPresenter();
895+
896+
SetupDefaultUI(scrollPresenter, rectangleScrollPresenterContent, scrollPresenterLoadedEvent);
897+
898+
});
899+
900+
WaitForEvent("Waiting for Loaded event", scrollPresenterLoadedEvent);
901+
902+
RunOnUIThread.Execute(() =>
903+
{
904+
scrollPresenter.ViewChanged += (s, e) =>
905+
{
906+
scrollPresenterViewChangedEvent.Set();
907+
};
908+
909+
rectangleScrollPresenterContent.StartBringIntoView(new BringIntoViewOptions() { AnimationDesired = false });
910+
});
911+
912+
WaitForEvent("Waiting for ViewChanged event", scrollPresenterViewChangedEvent);
913+
914+
RunOnUIThread.Execute(() =>
915+
{
916+
Verify.AreEqual(500.0, scrollPresenter.VerticalOffset);
917+
});
918+
}
919+
882920
private void SetupDefaultUI(
883921
ScrollPresenter scrollPresenter,
884922
Rectangle rectangleScrollPresenterContent,

0 commit comments

Comments
 (0)