Browse Source

Added failing tests for #1614.

pull/2115/head
Steven Kirk 8 years ago
parent
commit
f1c2c72400
  1. 123
      tests/Avalonia.RenderTests/Media/VisualBrushTests.cs
  2. 8
      tests/Avalonia.RenderTests/TestBase.cs
  3. BIN
      tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Checkerboard_96_Dpi.expected.png
  4. BIN
      tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Checkerboard_96_Dpi.expected.png

123
tests/Avalonia.RenderTests/Media/VisualBrushTests.cs

@ -449,5 +449,128 @@ namespace Avalonia.Direct2D1.RenderTests.Media
await RenderToFile(target);
CompareImages();
}
[Fact]
public async Task VisualBrush_Checkerboard_96_Dpi()
{
var target = new Border
{
Width = 200,
Height = 200,
Background = new VisualBrush
{
DestinationRect = new RelativeRect(0, 0, 16, 16, RelativeUnit.Absolute),
TileMode = TileMode.Tile,
Visual = new Canvas
{
Width = 16,
Height= 16,
Background = Brushes.Red,
Children =
{
new Rectangle
{
Width = 8,
Height = 8,
Fill = Brushes.Green,
},
new Rectangle
{
Width = 8,
Height = 8,
Fill = Brushes.Green,
[Canvas.LeftProperty] = 8,
[Canvas.TopProperty] = 8,
},
}
}
}
};
await RenderToFile(target);
CompareImages();
}
[Fact]
public async Task VisualBrush_Checkerboard_144_Dpi()
{
var target = new Border
{
Width = 200,
Height = 200,
Background = new VisualBrush
{
DestinationRect = new RelativeRect(0, 0, 16, 16, RelativeUnit.Absolute),
TileMode = TileMode.Tile,
Visual = new Canvas
{
Width = 16,
Height = 16,
Background = Brushes.Red,
Children =
{
new Rectangle
{
Width = 8,
Height = 8,
Fill = Brushes.Green,
},
new Rectangle
{
Width = 8,
Height = 8,
Fill = Brushes.Green,
[Canvas.LeftProperty] = 8,
[Canvas.TopProperty] = 8,
},
}
}
}
};
await RenderToFile(target, dpi: 144);
CompareImages();
}
[Fact]
public async Task VisualBrush_Checkerboard_192_Dpi()
{
var target = new Border
{
Width = 200,
Height = 200,
Background = new VisualBrush
{
DestinationRect = new RelativeRect(0, 0, 16, 16, RelativeUnit.Absolute),
TileMode = TileMode.Tile,
Visual = new Canvas
{
Width = 16,
Height = 16,
Background = Brushes.Red,
Children =
{
new Rectangle
{
Width = 8,
Height = 8,
Fill = Brushes.Green,
},
new Rectangle
{
Width = 8,
Height = 8,
Fill = Brushes.Green,
[Canvas.LeftProperty] = 8,
[Canvas.TopProperty] = 8,
},
}
}
}
};
await RenderToFile(target, dpi: 192);
CompareImages();
}
}
}

8
tests/Avalonia.RenderTests/TestBase.cs

@ -63,7 +63,7 @@ namespace Avalonia.Direct2D1.RenderTests
get;
}
protected async Task RenderToFile(Control target, [CallerMemberName] string testName = "")
protected async Task RenderToFile(Control target, [CallerMemberName] string testName = "", double dpi = 96)
{
if (!Directory.Exists(OutputPath))
{
@ -75,9 +75,9 @@ namespace Avalonia.Direct2D1.RenderTests
var factory = AvaloniaLocator.Current.GetService<IPlatformRenderInterface>();
var pixelSize = new PixelSize((int)target.Width, (int)target.Height);
var size = new Size(target.Width, target.Height);
var dpi = new Vector(96, 96);
var dpiVector = new Vector(dpi, dpi);
using (RenderTargetBitmap bitmap = new RenderTargetBitmap(pixelSize, dpi))
using (RenderTargetBitmap bitmap = new RenderTargetBitmap(pixelSize, dpiVector))
{
target.Measure(size);
target.Arrange(new Rect(size));
@ -85,7 +85,7 @@ namespace Avalonia.Direct2D1.RenderTests
bitmap.Save(immediatePath);
}
using (var rtb = factory.CreateRenderTargetBitmap(pixelSize, dpi))
using (var rtb = factory.CreateRenderTargetBitmap(pixelSize, dpiVector))
using (var renderer = new DeferredRenderer(target, rtb))
{
target.Measure(size);

BIN
tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Checkerboard_96_Dpi.expected.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

BIN
tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Checkerboard_96_Dpi.expected.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

Loading…
Cancel
Save