From f5c93a50abb12ce6c1e4bf40200a1eaf916c9f12 Mon Sep 17 00:00:00 2001 From: stepan_govorko Date: Thu, 17 Aug 2023 09:51:04 +0200 Subject: [PATCH] added more comments --- .../CompositorInvalidationClippingTests.cs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/tests/Avalonia.Base.UnitTests/Rendering/CompositorInvalidationClippingTests.cs b/tests/Avalonia.Base.UnitTests/Rendering/CompositorInvalidationClippingTests.cs index 1de2cfa717..c158ff4e75 100644 --- a/tests/Avalonia.Base.UnitTests/Rendering/CompositorInvalidationClippingTests.cs +++ b/tests/Avalonia.Base.UnitTests/Rendering/CompositorInvalidationClippingTests.cs @@ -3,22 +3,27 @@ using Avalonia.Media; using Xunit; namespace Avalonia.Base.UnitTests.Rendering; - +/// +/// Test class that verifies how clipping influences rendering in the compositor +/// public class CompositorInvalidationClippingTests : CompositorTestsBase { [Fact] + // Test case: When the ClipToBounds is false, all visuals should be rendered public void Siblings_Should_Be_Rendered_On_Invalidate_Without_ClipToBounds() { AssertRenderedVisuals(clipToBounds: false, clipGeometry: false, expectedRenderedVisualsCount: 4); } [Fact] + // Test case: When the ClipToBounds is true, only visuals within the clipped boundary should be rendered public void Siblings_Should_Not_Be_Rendered_On_Invalidate_With_ClipToBounds() { AssertRenderedVisuals(clipToBounds: true, clipGeometry: false, expectedRenderedVisualsCount: 3); } [Fact] + // Test case: When the Clip is used, only visuals within the clip geometry should be rendered public void Siblings_Should_Not_Be_Rendered_On_Invalidate_With_Clip() { AssertRenderedVisuals(clipToBounds: false, clipGeometry: true, expectedRenderedVisualsCount: 3); @@ -28,10 +33,10 @@ public class CompositorInvalidationClippingTests : CompositorTestsBase { using (var s = new CompositorCanvas()) { - //#1 visual to render is root - //#2 visual to render is s.Canvas + //#1 visual is top level + //#2 visual is s.Canvas - //#3 visual to render + //#3 visual is border1 s.Canvas.Children.Add(new Border() { [Canvas.LeftProperty] = 0, [Canvas.TopProperty] = 0, @@ -41,7 +46,7 @@ public class CompositorInvalidationClippingTests : CompositorTestsBase Clip = clipGeometry ? new RectangleGeometry(new Rect(new Size(20, 10))) : null }); - //#4 visual to render + //#4 visual is border2 s.Canvas.Children.Add(new Border() { [Canvas.LeftProperty] = 30, [Canvas.TopProperty] = 50, @@ -52,8 +57,11 @@ public class CompositorInvalidationClippingTests : CompositorTestsBase }); s.RunJobs(); s.Events.Reset(); + + //invalidate border1 s.Canvas.Children[0].IsVisible = false; s.RunJobs(); + s.AssertRenderedVisuals(expectedRenderedVisualsCount); } }