Browse Source

More Dispatcher.UIThread.RunJobs in tests

pull/7301/head
Nikita Tsukanov 4 years ago
parent
commit
b6219db4ad
  1. 7
      tests/Avalonia.Markup.UnitTests/Data/BindingTests.cs
  2. 15
      tests/Avalonia.Markup.UnitTests/Parsers/ExpressionObserverBuilderTests_Indexer.cs

7
tests/Avalonia.Markup.UnitTests/Data/BindingTests.cs

@ -12,6 +12,7 @@ using System.Runtime.CompilerServices;
using Avalonia.UnitTests;
using Avalonia.Data.Converters;
using Avalonia.Data.Core;
using Avalonia.Threading;
namespace Avalonia.Markup.UnitTests.Data
{
@ -160,6 +161,9 @@ namespace Avalonia.Markup.UnitTests.Data
target.Bind(TextBlock.TextProperty, new Binding("Foo", BindingMode.OneTime));
target.DataContext = source;
// Forces WeakEvent compact
Dispatcher.UIThread.RunJobs();
Assert.Equal(0, source.SubscriberCount);
}
@ -608,6 +612,9 @@ namespace Avalonia.Markup.UnitTests.Data
root.DataContext = source;
}
// Forces WeakEvent compact
Dispatcher.UIThread.RunJobs();
Assert.Equal(0, source.SubscriberCount);
}

15
tests/Avalonia.Markup.UnitTests/Parsers/ExpressionObserverBuilderTests_Indexer.cs

@ -10,6 +10,7 @@ using System.Collections.ObjectModel;
using System.Reactive.Linq;
using System.Text;
using System.Threading.Tasks;
using Avalonia.Threading;
using Xunit;
namespace Avalonia.Markup.UnitTests.Parsers
@ -159,7 +160,10 @@ namespace Avalonia.Markup.UnitTests.Parsers
{
data.Foo.Add("baz");
}
// Forces WeakEvent compact
Dispatcher.UIThread.RunJobs();
Assert.Equal(new[] { AvaloniaProperty.UnsetValue, "baz" }, result);
Assert.Null(((INotifyCollectionChangedDebug)data.Foo).GetCollectionChangedSubscribers());
@ -178,6 +182,9 @@ namespace Avalonia.Markup.UnitTests.Parsers
data.Foo.RemoveAt(0);
}
// Forces WeakEvent compact
Dispatcher.UIThread.RunJobs();
Assert.Equal(new[] { "foo", "bar" }, result);
Assert.Null(((INotifyCollectionChangedDebug)data.Foo).GetCollectionChangedSubscribers());
@ -196,6 +203,9 @@ namespace Avalonia.Markup.UnitTests.Parsers
data.Foo[1] = "baz";
}
// Forces WeakEvent compact
Dispatcher.UIThread.RunJobs();
Assert.Equal(new[] { "bar", "baz" }, result);
Assert.Null(((INotifyCollectionChangedDebug)data.Foo).GetCollectionChangedSubscribers());
@ -252,6 +262,9 @@ namespace Avalonia.Markup.UnitTests.Parsers
data.Foo["foo"] = "bar2";
}
// Forces WeakEvent compact
Dispatcher.UIThread.RunJobs();
var expected = new[] { "bar", "bar2" };
Assert.Equal(expected, result);
Assert.Equal(0, data.Foo.PropertyChangedSubscriptionCount);

Loading…
Cancel
Save