Browse Source

add a test for multibinding with StringFormat

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

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

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