// Copyright (c) The Avalonia Project. All rights reserved. // Licensed under the MIT license. See licence.md file in the project root for full license information. using Avalonia.Controls; using Avalonia.Markup.Xaml.Data; using Avalonia.Markup.Xaml.Styling; using Avalonia.Media; using Avalonia.Styling; using Avalonia.UnitTests; using Xunit; namespace Avalonia.Markup.Xaml.UnitTests.Xaml { public class StyleTests { [Fact] public void Color_Can_Be_Added_To_Style_Resources() { using (UnitTestApplication.Start(TestServices.MockPlatformWrapper)) { var xaml = @" "; var loader = new AvaloniaXamlLoader(); var userControl = (UserControl)loader.Load(xaml); var color = (Color)((Style)userControl.Styles[0]).Resources["color"]; Assert.Equal(0xff506070, color.ToUint32()); } } [Fact] public void SolidColorBrush_Can_Be_Added_To_Style_Resources() { using (UnitTestApplication.Start(TestServices.MockPlatformWrapper)) { var xaml = @" "; var loader = new AvaloniaXamlLoader(); var userControl = (UserControl)loader.Load(xaml); var brush = (SolidColorBrush)((Style)userControl.Styles[0]).Resources["brush"]; Assert.Equal(0xff506070, brush.Color.ToUint32()); } } [Fact] public void StyleResource_Can_Be_Assigned_To_Property() { var xaml = @" "; 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 StyleResource_Can_Be_Assigned_To_Setter() { //skip default theme and styles, they are not needed using (UnitTestApplication.Start(TestServices.StyledWindow .With(theme: () => new Styles()))) { var xaml = @"