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