From ec92b90e81601a040fd9d25d0b70d5aebeb49e7c Mon Sep 17 00:00:00 2001 From: Andrey Kunchev Date: Mon, 23 Mar 2020 12:57:27 +0200 Subject: [PATCH] add a test for multibinding with StringFormat --- .../AvaloniaObjectTests_MultiBinding.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_MultiBinding.cs b/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_MultiBinding.cs index 8560966fb7..ab413dd550 100644 --- a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_MultiBinding.cs +++ b/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(); + + 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(v => string.Join(",", v.ToArray())); private class Class1 : AvaloniaObject