using System; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Linq; using System.Runtime.CompilerServices; using Avalonia.Controls; using Avalonia.Data.Converters; using Avalonia.Data.Core; using Avalonia.Input; using Avalonia.Interactivity; using Avalonia.Markup.Xaml.UnitTests.Xaml; using Avalonia.Media; using Avalonia.Styling; using Avalonia.Threading; using Avalonia.UnitTests; using Avalonia.VisualTree; using Xunit; namespace Avalonia.Markup.Xaml.UnitTests { public class XamlIlTests : XamlTestBase { [Fact] public void Transitions_Should_Be_Properly_Parsed() { var parsed = (Grid)AvaloniaRuntimeXamlLoader.Parse(@" "); Assert.Equal(1, parsed.Transitions.Count); Assert.Equal(Visual.OpacityProperty, parsed.Transitions[0].Property); } [Fact] public void Parser_Should_Override_Precompiled_Xaml() { var precompiled = new XamlIlClassWithPrecompiledXaml(); Assert.Equal(Brushes.Red, precompiled.Background); Assert.Equal(1, precompiled.Opacity); var loaded = (XamlIlClassWithPrecompiledXaml)AvaloniaRuntimeXamlLoader.Parse(@" "); Assert.Equal(loaded.Opacity, 0); Assert.Null(loaded.Background); } [Fact] public void RelativeSource_TemplatedParent_Works() { using (UnitTestApplication.Start(TestServices.StyledWindow)) { AvaloniaRuntimeXamlLoader.Load(@" ", null, Application.Current); var parsed = (Window)AvaloniaRuntimeXamlLoader.Parse(@"