From b240fc7d0c75bbfc2e060c78b67e4af4278e638f Mon Sep 17 00:00:00 2001 From: Max Katz Date: Sun, 20 Dec 2020 18:05:59 -0500 Subject: [PATCH] Add failing and working tests for null DataContext --- .../AvaloniaObjectTests_Binding.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs b/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs index 7fc0d52be6..7c4c5c96a5 100644 --- a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs +++ b/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Binding.cs @@ -4,6 +4,8 @@ using System.Reactive.Linq; using System.Reactive.Subjects; using System.Threading; using System.Threading.Tasks; + +using Avalonia.Controls; using Avalonia.Data; using Avalonia.Logging; using Avalonia.Platform; @@ -797,6 +799,24 @@ namespace Avalonia.Base.UnitTests Assert.False(source.SetterCalled); } + [Fact] + public void TwoWay_Binding_Should_Not_Fail_With_Null_DataContext() + { + var target = new TextBlock(); + target.DataContext = null; + + target.Bind(TextBlock.TextProperty, new Binding("Missing", BindingMode.TwoWay)); + } + + [Fact] + public void TwoWay_Binding_Should_Not_Fail_With_Null_DataContext_Indexer() + { + var target = new TextBlock(); + target.DataContext = null; + + target.Bind(TextBlock.TextProperty, new Binding("[0]", BindingMode.TwoWay)); + } + [Fact] public void Disposing_Completed_Binding_Does_Not_Throw() {