From 3a712fe80df8b6b5eb845d6158d12e8e543349be Mon Sep 17 00:00:00 2001 From: Martin Zikmund Date: Wed, 2 Oct 2024 11:16:55 +0200 Subject: [PATCH] test: Exception should be thrown when parent is changed --- .../Windows_UI_Xaml/Given_FrameworkElement.cs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_FrameworkElement.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_FrameworkElement.cs index 7846e9232ef9..ef6bebd1d169 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_FrameworkElement.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_FrameworkElement.cs @@ -982,6 +982,35 @@ public async Task When_Negative_Margin_Zero_Size() Assert.AreEqual(0d, Math.Round(SUT.DesiredSize.Height)); } + [TestMethod] + [RunsOnUIThread] + public async Task When_Change_Parent() + { + var SUT = new Button() { Content = "Hello" }; + var parent = new Grid(); + parent.Children.Add(SUT); + var act = () => TestServices.WindowHelper.WindowContent = SUT; + act.Should().Throw(); + } + + [TestMethod] + [RunsOnUIThread] + public async Task When_Change_Parent_Loaded() + { + var SUT = new Button() { Content = "Hello" }; + var parent = new Grid(); + var inner = new StackPanel(); + var inner2 = new StackPanel(); + parent.Children.Add(inner); + parent.Children.Add(inner2); + inner.Children.Add(SUT); + TestServices.WindowHelper.WindowContent = parent; + await TestServices.WindowHelper.WaitForLoaded(SUT); + + var act = () => inner2.Children.Add(SUT); + act.Should().Throw(); + } + [TestMethod] [RunsOnUIThread] public async Task When_Add_Element_Then_Load_Raised()