From a7f0851efb98d3f23b17d5eb4c8d46b38dddc916 Mon Sep 17 00:00:00 2001 From: Andrey Kunchev Date: Fri, 25 Oct 2019 15:37:52 +0300 Subject: [PATCH] add failing test for grid when columns/row are replaced grid doesn't invalidate --- .../Avalonia.Controls.UnitTests/GridTests.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/Avalonia.Controls.UnitTests/GridTests.cs b/tests/Avalonia.Controls.UnitTests/GridTests.cs index 187255a89b..192b8b2172 100644 --- a/tests/Avalonia.Controls.UnitTests/GridTests.cs +++ b/tests/Avalonia.Controls.UnitTests/GridTests.cs @@ -1494,6 +1494,28 @@ namespace Avalonia.Controls.UnitTests }); } + [Fact] + public void Replace_Columns_Should_Invalidate_Grid() + { + var grid = new Grid { ColumnDefinitions = ColumnDefinitions.Parse("1*,1*") }; + + Change_Propery_And_Verify_Measure_Requested(grid, () => + { + grid.ColumnDefinitions = ColumnDefinitions.Parse("2*,1*"); + }); + } + + [Fact] + public void Replace_Rows_Should_Invalidate_Grid() + { + var grid = new Grid { RowDefinitions = RowDefinitions.Parse("1*,1*") }; + + Change_Propery_And_Verify_Measure_Requested(grid, () => + { + grid.RowDefinitions = RowDefinitions.Parse("2*,1*"); + }); + } + [Fact] public void Remove_Column_Should_Invalidate_Grid() { @@ -1515,6 +1537,7 @@ namespace Avalonia.Controls.UnitTests grid.RowDefinitions.RemoveAt(0); }); } + private static void Change_Propery_And_Verify_Measure_Requested(Grid grid, Action change) { grid.Measure(new Size(100, 100));