From eda7c1f09d4286b33abbd1ddc45e8e1d6798c5d5 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Wed, 23 Aug 2017 13:54:59 +0200 Subject: [PATCH] Added more tests. Some failing. --- .../MarkupExtensions/DynamicResourceTests.cs | 69 +++++++++++++++++++ .../MarkupExtensions/StaticResourceTests.cs | 41 +++++++++++ 2 files changed, 110 insertions(+) diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceTests.cs index 70c45c3e7f..d071f78076 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceTests.cs @@ -252,6 +252,75 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions } } + [Fact] + public void DynamicResource_Can_Be_Assigned_To_Resource_Property() + { + var xaml = @" + + + #ff506070 + + + + +"; + + var loader = new AvaloniaXamlLoader(); + var userControl = (UserControl)loader.Load(xaml); + var border = userControl.FindControl("border"); + + DelayedBinding.ApplyBindings(border); + + var brush = (SolidColorBrush)border.Background; + Assert.Equal(0xff506070, brush.Color.ToUint32()); + } + + [Fact] + public void DynamicResource_Can_Be_Found_Across_Xaml_Files() + { + var style1Xaml = @" +"; + var style2Xaml = @" +"; + using (StyledWindow( + ("test:style1.xaml", style1Xaml), + ("test:style2.xaml", style2Xaml))) + { + var xaml = @" + + + + + + +"; + + var loader = new AvaloniaXamlLoader(); + var window = (Window)loader.Load(xaml); + var border = window.FindControl("border"); + var borderBrush = (ISolidColorBrush)border.Background; + + Assert.NotNull(borderBrush); + Assert.Equal(0xffff0000, borderBrush.Color.ToUint32()); + } + } + private IDisposable StyledWindow(params (string, string)[] assets) { var services = TestServices.StyledWindow.With( diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceTests.cs index b9a847d9d1..aa3694c0e8 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceTests.cs @@ -204,6 +204,47 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions } } + [Fact] + public void StaticResource_Can_Be_Assigned_To_Resource_Property() + { + var xaml = @" + + + #ff506070 + + + + +"; + + var loader = new AvaloniaXamlLoader(); + var userControl = (UserControl)loader.Load(xaml); + var border = userControl.FindControl("border"); + + var brush = (SolidColorBrush)border.Background; + Assert.Equal(0xff506070, brush.Color.ToUint32()); + } + + [Fact] + public void StaticResource_Can_Be_Assigned_To_Resource_Property_In_Styles_File() + { + var xaml = @" + + + #ff506070 + + +"; + + var loader = new AvaloniaXamlLoader(); + var styles = (Styles)loader.Load(xaml); + var brush = (SolidColorBrush)styles.Resources["brush"]; + + Assert.Equal(0xff506070, brush.Color.ToUint32()); + } + [Fact(Skip = "Not yet supported by Portable.Xaml")] public void StaticResource_Can_Be_Assigned_To_Property_In_ControlTemplate_In_Styles_File() {