using Avalonia.Controls; using Avalonia.Data; using Avalonia.UnitTests; using Xunit; namespace Avalonia.Markup.Xaml.UnitTests.Data { public class BindingTests : XamlTestBase { [Fact] public void Binding_With_Null_Path_Works() { using (UnitTestApplication.Start(TestServices.StyledWindow)) { var xaml = @" "; var loader = new AvaloniaXamlLoader(); var window = (Window)loader.Load(xaml); var textBlock = window.FindControl("textBlock"); window.DataContext = "foo"; window.ApplyTemplate(); Assert.Equal("foo", textBlock.Text); } } [Fact] public void Binding_To_DoNothing_Works() { using (UnitTestApplication.Start(TestServices.StyledWindow)) { var xaml = @" "; var loader = new AvaloniaXamlLoader(); var window = (Window)loader.Load(xaml); var textBlock = window.FindControl("textBlock"); window.ApplyTemplate(); window.DataContext = "foo"; Assert.Equal("foo", textBlock.Text); window.DataContext = BindingOperations.DoNothing; Assert.Equal("foo", textBlock.Text); window.DataContext = "bar"; Assert.Equal("bar", textBlock.Text); } } } }