diff --git a/tests/Avalonia.Markup.UnitTests/Data/BindingTests.cs b/tests/Avalonia.Markup.UnitTests/Data/BindingTests.cs
index 82b57224f0..baa1bca76a 100644
--- a/tests/Avalonia.Markup.UnitTests/Data/BindingTests.cs
+++ b/tests/Avalonia.Markup.UnitTests/Data/BindingTests.cs
@@ -273,6 +273,39 @@ namespace Avalonia.Markup.UnitTests.Data
Assert.Equal(42, target.Value);
}
+ [Fact]
+ public void Null_Path_Should_Bind_To_DataContext()
+ {
+ var target = new TextBlock { DataContext = "foo" };
+ var binding = new Binding();
+
+ target.Bind(TextBlock.TextProperty, binding);
+
+ Assert.Equal("foo", target.Text);
+ }
+
+ [Fact]
+ public void Empty_Path_Should_Bind_To_DataContext()
+ {
+ var target = new TextBlock { DataContext = "foo" };
+ var binding = new Binding { Path = string.Empty };
+
+ target.Bind(TextBlock.TextProperty, binding);
+
+ Assert.Equal("foo", target.Text);
+ }
+
+ [Fact]
+ public void Dot_Path_Should_Bind_To_DataContext()
+ {
+ var target = new TextBlock { DataContext = "foo" };
+ var binding = new Binding { Path = "." };
+
+ target.Bind(TextBlock.TextProperty, binding);
+
+ Assert.Equal("foo", target.Text);
+ }
+
///
/// Tests a problem discovered with ListBox with selection.
///
diff --git a/tests/Avalonia.Markup.UnitTests/Parsers/ExpressionNodeBuilderTests.cs b/tests/Avalonia.Markup.UnitTests/Parsers/ExpressionNodeBuilderTests.cs
index 2d687ff4f7..7061915a52 100644
--- a/tests/Avalonia.Markup.UnitTests/Parsers/ExpressionNodeBuilderTests.cs
+++ b/tests/Avalonia.Markup.UnitTests/Parsers/ExpressionNodeBuilderTests.cs
@@ -36,6 +36,15 @@ namespace Avalonia.Markup.UnitTests.Parsers
AssertIsProperty(result[0], "F0o");
}
+ [Fact]
+ public void Should_Build_Dot()
+ {
+ var result = ToList(ExpressionObserverBuilder.Parse("."));
+
+ Assert.Equal(1, result.Count);
+ Assert.IsType(result[0]);
+ }
+
[Fact]
public void Should_Build_Property_Chain()
{
diff --git a/tests/Avalonia.Markup.UnitTests/Parsers/ExpressionNodeBuilderTests_Errors.cs b/tests/Avalonia.Markup.UnitTests/Parsers/ExpressionNodeBuilderTests_Errors.cs
index 347fc0a744..ac385b4cab 100644
--- a/tests/Avalonia.Markup.UnitTests/Parsers/ExpressionNodeBuilderTests_Errors.cs
+++ b/tests/Avalonia.Markup.UnitTests/Parsers/ExpressionNodeBuilderTests_Errors.cs
@@ -30,6 +30,13 @@ namespace Avalonia.Markup.UnitTests.Parsers
() => ExpressionObserverBuilder.Parse("Foo.Bar."));
}
+ [Fact]
+ public void Expression_Cannot_Start_With_Period_Then_Token()
+ {
+ Assert.Throws(
+ () => ExpressionObserverBuilder.Parse(".Bar"));
+ }
+
[Fact]
public void Expression_Cannot_Have_Empty_Indexer()
{