diff --git a/dev/TreeView/InteractionTests/TreeViewTests.cs b/dev/TreeView/InteractionTests/TreeViewTests.cs index a42ac4a8b1..3a82355e01 100644 --- a/dev/TreeView/InteractionTests/TreeViewTests.cs +++ b/dev/TreeView/InteractionTests/TreeViewTests.cs @@ -2815,6 +2815,34 @@ public void ItemsSourceResyncTest() } } + [TestMethod] + [TestProperty("TestSuite", "B")] + public void ItemsSourceSwitchForthAndBackTest() + { + // TreeView databinding only works on RS5+ + if (IsLowerThanRS5()) + { + return; + } + + using (var setup = new TestSetupHelper("TreeView Tests")) + { + SetContentMode(true); + + ClickButton("SwapItemsSource"); + Wait.ForIdle(); + ClickButton("GetItemCount"); + Verify.AreEqual("2", ReadResult()); + + ClickButton("SwapItemsSource"); + Wait.ForIdle(); + ClickButton("ExpandRootNode"); + Wait.ForIdle(); + ClickButton("GetItemCount"); + Verify.AreEqual("4", ReadResult()); + } + } + private void ClickButton(string buttonName) { var button = new Button(FindElement.ByName(buttonName)); diff --git a/dev/TreeView/TestUI/TreeViewPage.xaml b/dev/TreeView/TestUI/TreeViewPage.xaml index b6c0bbcd1e..680f5c3f83 100644 --- a/dev/TreeView/TestUI/TreeViewPage.xaml +++ b/dev/TreeView/TestUI/TreeViewPage.xaml @@ -74,6 +74,7 @@