Browse Source

Added additional test for visibility invalidation.

pull/7555/head
Steven Kirk 4 years ago
parent
commit
9f03a1f7be
  1. 32
      tests/Avalonia.Base.UnitTests/Layout/LayoutableTests.cs

32
tests/Avalonia.Base.UnitTests/Layout/LayoutableTests.cs

@ -352,6 +352,38 @@ namespace Avalonia.Base.UnitTests.Layout
Assert.True(child.IsArrangeValid);
}
[Fact]
public void Making_Control_Visible_Should_Invalidate_Own_And_Parent_Measure()
{
Border child;
var target = new StackPanel
{
Children =
{
(child = new Border
{
Width = 100,
IsVisible = false,
}),
}
};
target.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
target.Arrange(new Rect(target.DesiredSize));
Assert.True(target.IsMeasureValid);
Assert.True(target.IsArrangeValid);
Assert.True(child.IsMeasureValid);
Assert.False(child.IsArrangeValid);
child.IsVisible = true;
Assert.False(target.IsMeasureValid);
Assert.False(target.IsArrangeValid);
Assert.False(child.IsMeasureValid);
Assert.False(child.IsArrangeValid);
}
[Fact]
public void Measuring_Invisible_Control_Should_Not_Invalidate_Parent_Measure()
{

Loading…
Cancel
Save