diff --git a/tests/Avalonia.Controls.UnitTests/DockPanelTests.cs b/tests/Avalonia.Controls.UnitTests/DockPanelTests.cs index 3de67839a7..59f047abae 100644 --- a/tests/Avalonia.Controls.UnitTests/DockPanelTests.cs +++ b/tests/Avalonia.Controls.UnitTests/DockPanelTests.cs @@ -58,5 +58,29 @@ namespace Avalonia.Controls.UnitTests Assert.Equal(new Rect(50, 350, 500, 50), target.Children[3].Bounds); Assert.Equal(new Rect(50, 50, 500, 300), target.Children[4].Bounds); } + + [Fact] + public void Changing_Child_Dock_Invalidates_Measure() + { + Border child; + var target = new DockPanel + { + Children = + { + (child = new Border + { + [DockPanel.DockProperty] = Dock.Left, + }), + } + }; + + target.Measure(Size.Infinity); + target.Arrange(new Rect(target.DesiredSize)); + Assert.True(target.IsMeasureValid); + + DockPanel.SetDock(child, Dock.Right); + + Assert.False(target.IsMeasureValid); + } } } diff --git a/tests/Avalonia.Controls.UnitTests/GridTests.cs b/tests/Avalonia.Controls.UnitTests/GridTests.cs index 4c79b7775b..5799cb91c4 100644 --- a/tests/Avalonia.Controls.UnitTests/GridTests.cs +++ b/tests/Avalonia.Controls.UnitTests/GridTests.cs @@ -154,5 +154,31 @@ namespace Avalonia.Controls.UnitTests GridAssert.ChildrenHeight(rowGrid, 200, 300, 300); GridAssert.ChildrenWidth(columnGrid, 200, 300, 300); } + + [Fact] + public void Changing_Child_Column_Invalidates_Measure() + { + Border child; + var target = new Grid + { + ColumnDefinitions = new ColumnDefinitions("*,*"), + Children = + { + (child = new Border + { + [Grid.ColumnProperty] = 0, + }), + } + }; + + target.Measure(Size.Infinity); + target.Arrange(new Rect(target.DesiredSize)); + Assert.True(target.IsMeasureValid); + + Grid.SetColumn(child, 1); + + Assert.False(target.IsMeasureValid); + } + } }