|
|
|
@ -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 |
|
|
|
|