From 1c3b1672b8f89430a04a281746480b39af9953e6 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 1 Apr 2016 19:40:48 +0200 Subject: [PATCH] Added failing test. StyleResources cannot currently be found in other style resources because the style resource binding is evaluated before the style is attached to the parent. Described in #492. --- .../Perspex.Markup.Xaml.UnitTests.csproj | 10 +++++++ .../Xaml/Style1.xaml | 8 ++++++ .../Xaml/Style2.xaml | 9 +++++++ .../Xaml/StyleTests.cs | 26 +++++++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 tests/Perspex.Markup.Xaml.UnitTests/Xaml/Style1.xaml create mode 100644 tests/Perspex.Markup.Xaml.UnitTests/Xaml/Style2.xaml diff --git a/tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj b/tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj index 0c8ee10821..e52711ab46 100644 --- a/tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj +++ b/tests/Perspex.Markup.Xaml.UnitTests/Perspex.Markup.Xaml.UnitTests.csproj @@ -174,6 +174,16 @@ + + + Designer + + + + + Designer + + diff --git a/tests/Perspex.Markup.Xaml.UnitTests/Xaml/Style1.xaml b/tests/Perspex.Markup.Xaml.UnitTests/Xaml/Style1.xaml new file mode 100644 index 0000000000..f37af38aac --- /dev/null +++ b/tests/Perspex.Markup.Xaml.UnitTests/Xaml/Style1.xaml @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/tests/Perspex.Markup.Xaml.UnitTests/Xaml/Style2.xaml b/tests/Perspex.Markup.Xaml.UnitTests/Xaml/Style2.xaml new file mode 100644 index 0000000000..8ffb7088d7 --- /dev/null +++ b/tests/Perspex.Markup.Xaml.UnitTests/Xaml/Style2.xaml @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/tests/Perspex.Markup.Xaml.UnitTests/Xaml/StyleTests.cs b/tests/Perspex.Markup.Xaml.UnitTests/Xaml/StyleTests.cs index 8bfb9e8377..23ad100d05 100644 --- a/tests/Perspex.Markup.Xaml.UnitTests/Xaml/StyleTests.cs +++ b/tests/Perspex.Markup.Xaml.UnitTests/Xaml/StyleTests.cs @@ -198,5 +198,31 @@ namespace Perspex.Markup.Xaml.UnitTests.Xaml Assert.Equal(0xff506070, brush.Color.ToUint32()); } + + [Fact(Skip = "TODO: Issue #492")] + public void StyleResource_Can_Be_Found_Across_Xaml_Files() + { + using (UnitTestApplication.Start(TestServices.StyledWindow)) + { + var xaml = @" + + + + + + +"; + + var loader = new PerspexXamlLoader(); + var window = (Window)loader.Load(xaml); + var border = window.FindControl("border"); + var borderBrush = (Perspex.Media.Mutable.SolidColorBrush)border.Background; + + Assert.NotNull(borderBrush); + Assert.Equal(0xffff0000, borderBrush.Color.ToUint32()); + } + } } }