Browse Source

Try with WaitForPendingFinalizers

pull/3045/head
artyom 7 years ago
parent
commit
00a148d0a3
  1. 2
      build/ReactiveUI.props
  2. 2
      src/Avalonia.ReactiveUI/AvaloniaActivationForViewFetcher.cs
  3. 2
      src/Avalonia.ReactiveUI/RoutedViewHost.cs
  4. 2
      tests/Avalonia.Markup.UnitTests/Parsers/ExpressionObserverBuilderTests_AttachedProperty.cs
  5. 8
      tests/Avalonia.ReactiveUI.UnitTests/AvaloniaActivationForViewFetcherTest.cs

2
build/ReactiveUI.props

@ -1,5 +1,5 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup> <ItemGroup>
<PackageReference Include="ReactiveUI" Version="9.0.1" /> <PackageReference Include="ReactiveUI" Version="10.2.2" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
src/Avalonia.ReactiveUI/AvaloniaActivationForViewFetcher.cs

@ -27,7 +27,7 @@ namespace Avalonia.ReactiveUI
/// <summary> /// <summary>
/// Returns activation observable for activatable Avalonia view. /// Returns activation observable for activatable Avalonia view.
/// </summary> /// </summary>
public IObservable<bool> GetActivationForView(IActivatable view) public IObservable<bool> GetActivationForView(IActivatableView view)
{ {
if (!(view is IVisual visual)) return Observable.Return(false); if (!(view is IVisual visual)) return Observable.Return(false);
if (view is WindowBase window) return GetActivationForWindowBase(window); if (view is WindowBase window) return GetActivationForWindowBase(window);

2
src/Avalonia.ReactiveUI/RoutedViewHost.cs

@ -53,7 +53,7 @@ namespace Avalonia.ReactiveUI
/// ReactiveUI routing documentation website</see> for more info. /// ReactiveUI routing documentation website</see> for more info.
/// </para> /// </para>
/// </remarks> /// </remarks>
public class RoutedViewHost : TransitioningContentControl, IActivatable, IEnableLogger public class RoutedViewHost : TransitioningContentControl, IActivatableView, IEnableLogger
{ {
/// <summary> /// <summary>
/// <see cref="AvaloniaProperty"/> for the <see cref="Router"/> property. /// <see cref="AvaloniaProperty"/> for the <see cref="Router"/> property.

2
tests/Avalonia.Markup.UnitTests/Parsers/ExpressionObserverBuilderTests_AttachedProperty.cs

@ -120,6 +120,8 @@ namespace Avalonia.Markup.UnitTests.Parsers
var result = run(); var result = run();
result.Item1.Subscribe(x => { }); result.Item1.Subscribe(x => { });
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect(); GC.Collect();
Assert.Null(result.Item2.Target); Assert.Null(result.Item2.Target);

8
tests/Avalonia.ReactiveUI.UnitTests/AvaloniaActivationForViewFetcherTest.cs

@ -20,9 +20,9 @@ namespace Avalonia.ReactiveUI.UnitTests
{ {
public class AvaloniaActivationForViewFetcherTest public class AvaloniaActivationForViewFetcherTest
{ {
public class TestUserControl : UserControl, IActivatable { } public class TestUserControl : UserControl, IActivatableView { }
public class TestUserControlWithWhenActivated : UserControl, IActivatable public class TestUserControlWithWhenActivated : UserControl, IActivatableView
{ {
public bool Active { get; private set; } public bool Active { get; private set; }
@ -38,7 +38,7 @@ namespace Avalonia.ReactiveUI.UnitTests
} }
} }
public class TestWindowWithWhenActivated : Window, IActivatable public class TestWindowWithWhenActivated : Window, IActivatableView
{ {
public bool Active { get; private set; } public bool Active { get; private set; }
@ -54,7 +54,7 @@ namespace Avalonia.ReactiveUI.UnitTests
} }
} }
public class ActivatableViewModel : ISupportsActivation public class ActivatableViewModel : IActivatableViewModel
{ {
public ViewModelActivator Activator { get; } public ViewModelActivator Activator { get; }

Loading…
Cancel
Save