Forge
csharpdeeb25a2
1using Avalonia;
2using Avalonia.Controls;
3using Avalonia.Headless.XUnit;
4using Avalonia.Media;
5using CascadeIDE.Tests.VisualVerification;
6
7namespace CascadeIDE.Tests;
8
9/// <summary>
10/// Дымовой тест пайплайна «контрол → PNG → сравнение с эталоном» в headless Avalonia.
11/// Расширяй новыми сценариями (мини-карта, примитивы) по мере стабилизации визуала.
12/// </summary>
13public sealed class HeadlessVisualRegressionSmokeTests
14{
15 private static readonly Vector s_dpi = new(96, 96);
16
17 [AvaloniaFact]
18 public void Solid_red_border_matches_approved_png()
19 {
20 var border = new Border
21 {
22 Background = Brushes.Crimson,
23 };
24
25 var png = ControlVisualCapture.CaptureControlToPng(border, new Size(64, 64), s_dpi);
26 ApprovedPngAssert.EqualToApproved(png, "headless_solid_red_64.approved.png");
27 }
28}
29
View only · write via MCP/CIDE