|
|
@@ -150,6 +150,26 @@ namespace Avalonia.Base.UnitTests.Data.Core
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public void Should_Work_With_Value_Type()
|
|
|
+ {
|
|
|
+ using (var sync = UnitTestSynchronizationContext.Begin())
|
|
|
+ {
|
|
|
+ var source = new BehaviorSubject<int>(1);
|
|
|
+ var data = new { Foo = source };
|
|
|
+ var target = ExpressionObserver.Create(data, o => o.Foo.StreamBinding());
|
|
|
+ var result = new List<int>();
|
|
|
+
|
|
|
+ var sub = target.Subscribe(x => result.Add((int)x));
|
|
|
+ source.OnNext(42);
|
|
|
+ sync.ExecutePostedCallbacks();
|
|
|
+
|
|
|
+ Assert.Equal(new[] { 1, 42 }, result);
|
|
|
+
|
|
|
+ GC.KeepAlive(data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private class Class1 : NotifyingBase
|
|
|
{
|
|
|
public Subject<Class2> Next { get; } = new Subject<Class2>();
|