From eacaa775de1856b6c58ffe4f7ba924a1d3500f87 Mon Sep 17 00:00:00 2001 From: timunie Date: Mon, 2 Mar 2026 14:59:43 +0100 Subject: [PATCH] add failing test for RenderTargetBitmap_DropShadowEffect --- .../Media/RenderTargetBitmapTests.cs | 59 ++++++++++++++++++ ...TargetBitmap_DropShadowEffect.expected.png | Bin 0 -> 3561 bytes 2 files changed, 59 insertions(+) create mode 100644 tests/Avalonia.RenderTests/Media/RenderTargetBitmapTests.cs create mode 100644 tests/TestFiles/Skia/Media/RenderTargetBitmap/RenderTargetBitmap_DropShadowEffect.expected.png diff --git a/tests/Avalonia.RenderTests/Media/RenderTargetBitmapTests.cs b/tests/Avalonia.RenderTests/Media/RenderTargetBitmapTests.cs new file mode 100644 index 0000000000..15e36e195b --- /dev/null +++ b/tests/Avalonia.RenderTests/Media/RenderTargetBitmapTests.cs @@ -0,0 +1,59 @@ +using System.Threading.Tasks; +using Avalonia.Controls; +using Avalonia.Controls.Shapes; +using Avalonia.Media; +using Avalonia.Media.Imaging; +using Avalonia.UnitTests; +using Xunit; + +namespace Avalonia.Skia.RenderTests; + +public class RenderTargetBitmapTests : TestBase +{ + public RenderTargetBitmapTests() : base(@"Media\RenderTargetBitmap") + { + } + + [Fact] + public async Task RenderTargetBitmap_DropShadowEffect() + { + var root = new Grid + { + Width = 300, + Height = 300, + Children = + { + new Canvas + { + Width = 300, + Height = 300, + Background = Brushes.White, + Children = + { + new Rectangle + { + Fill = Brushes.Red, + Width = 200, + Height = 200, + Margin = new Thickness(50), + Effect = new DropShadowEffect + { + Color = Colors.Black, + BlurRadius = 30 + } + } + } + } + } + }; + + await RenderToFile(root); + + CompareImages(); + + // var rtb = new RenderTargetBitmap(new PixelSize(300,300), new Vector(96,96)); + // rtb.Render(root); + // + // rtb.Save("test.png"); + } +} diff --git a/tests/TestFiles/Skia/Media/RenderTargetBitmap/RenderTargetBitmap_DropShadowEffect.expected.png b/tests/TestFiles/Skia/Media/RenderTargetBitmap/RenderTargetBitmap_DropShadowEffect.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..d0e64a9544556587169e2aafa3e3cef95ad299fb GIT binary patch literal 3561 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 RX#js$AXg_3$7*{V`JXG2iPiuB literal 0 HcmV?d00001