From 0fcf67d1cd6e4dbf55dddc07e3ebdb5d37222c5c Mon Sep 17 00:00:00 2001 From: Max Katz Date: Mon, 3 Apr 2023 19:35:22 -0400 Subject: [PATCH] Add failing test --- .../Xaml/ResourceDictionaryTests.cs | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ResourceDictionaryTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ResourceDictionaryTests.cs index bea6bc4dc8..e73ef456af 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ResourceDictionaryTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ResourceDictionaryTests.cs @@ -307,6 +307,60 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml Assert.True(buttonResources.ContainsDeferredKey("Red")); } } + + [Fact] + public void Should_Be_Possible_To_Redefine_Referenced_Resource_ControlTheme() + { + using (StyledWindow()) + { + var xaml = @" + + + + + + + + + +"; + var window = (Window)AvaloniaRuntimeXamlLoader.Load(xaml); + var windowResources = (ResourceDictionary)window.Resources; + var innerResources = (ResourceDictionary)((UserControl)window.Content!).Resources; + + var winButtonTheme = Assert.IsType(windowResources[typeof(Button)]); + var innerButtonTheme = Assert.IsType(innerResources[typeof(Button)]); + Assert.Equal(winButtonTheme, innerButtonTheme.BasedOn); + } + } + + [Fact] + public void Should_Be_Possible_To_Redefine_Referenced_Resource() + { + using (StyledWindow()) + { + var xaml = @" + + + #aaa + + + + + + +"; + var window = (Window)AvaloniaRuntimeXamlLoader.Load(xaml); + var windowResources = (ResourceDictionary)window.Resources; + var innerResources = (ResourceDictionary)((UserControl)window.Content!).Resources; + + var winButtonTheme = Assert.IsType(windowResources["SystemAccentColor"]); + var innerButtonTheme = Assert.IsType(innerResources["SystemAccentColor"]); + Assert.Equal(winButtonTheme, innerButtonTheme); + } + } [Fact] public void Dynamically_Changing_Referenced_Resources_Works_With_DynamicResource()