Browse Source

add failing unit test for #3692

Andrey Kunchev 5 years ago
parent
commit
50deb04e7a
1 changed files with 28 additions and 0 deletions
  1. 28 0
      tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_MultiBinding.cs

+ 28 - 0
tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_MultiBinding.cs

@@ -71,6 +71,34 @@ namespace Avalonia.Base.UnitTests
             Assert.Equal("Foo,Bar,Baz", target.Foo);
         }
 
+        [Fact]
+        public void Should_Update_When_Null_Value_In_Bindings()
+        {
+            var target = new Class1();
+
+            var b = new Subject<object>();
+
+            var mb = new MultiBinding()
+            {
+                Converter = StringJoinConverter,
+                Bindings = new[]
+                {
+                    b.ToBinding()
+                }
+            };
+            target.Bind(Class1.FooProperty, mb);
+
+            Assert.Equal(null, target.Foo);
+
+            b.OnNext("Foo");
+
+            Assert.Equal("Foo", target.Foo);
+
+            b.OnNext(null);
+
+            Assert.Equal("", target.Foo);
+        }
+
         private static IMultiValueConverter StringJoinConverter = new FuncMultiValueConverter<object, string>(v => string.Join(",", v.ToArray()));
 
         private class Class1 : AvaloniaObject