Skip to content

Commit

Permalink
Added failing test for #3019.
Browse files Browse the repository at this point in the history
  • Loading branch information
grokys committed Sep 23, 2019
1 parent f6b4230 commit a600244
Showing 1 changed file with 49 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,55 @@ public void Should_Update_Dirty_Controls_In_Order()
Assert.Equal(new List<IVisual> { root, decorator, border, canvas }, result);
}

[Fact]
public void Should_Add_Dirty_Rect_On_Child_Remove()
{
var dispatcher = new ImmediateDispatcher();
var loop = new Mock<IRenderLoop>();

Decorator decorator;
Border border;
var root = new TestRoot
{
Width = 100,
Height= 100,
Child = decorator = new Decorator
{
Child = border = new Border
{
Width = 50,
Height = 50,
Background = Brushes.Red,
},
}
};

root.Measure(Size.Infinity);
root.Arrange(new Rect(root.DesiredSize));

var sceneBuilder = new SceneBuilder();
var target = new DeferredRenderer(
root,
loop.Object,
sceneBuilder: sceneBuilder,
dispatcher: dispatcher);

root.Renderer = target;
target.Start();
RunFrame(target);

decorator.Child = null;

RunFrame(target);

var scene = target.UnitTestScene();
var stackNode = scene.FindNode(decorator);
var dirty = scene.Layers[0].Dirty.ToList();

Assert.Equal(1, dirty.Count);
Assert.Equal(new Rect(25, 25, 50, 50), dirty[0]);
}

[Fact]
public void Should_Update_VisualNode_Order_On_Child_Remove_Insert()
{
Expand Down

0 comments on commit a600244

Please sign in to comment.