Browse Source

unit test

pull/8455/head
Lubomir Tetak 4 years ago
parent
commit
1812540ad9
  1. 24
      tests/Avalonia.Base.UnitTests/Layout/LayoutableTests_EffectiveViewportChanged.cs

24
tests/Avalonia.Base.UnitTests/Layout/LayoutableTests_EffectiveViewportChanged.cs

@ -312,6 +312,30 @@ namespace Avalonia.Base.UnitTests.Layout
});
}
[Fact]
public async Task Event_Unsubscribed_While_Inside_Callback()
{
await RunOnUIThread.Execute(async () =>
{
var root = CreateRoot();
var target = new Canvas();
var raised = 0;
void OnTargetOnEffectiveViewportChanged(object s, EffectiveViewportChangedEventArgs e)
{
target.EffectiveViewportChanged -= OnTargetOnEffectiveViewportChanged;
++raised;
}
target.EffectiveViewportChanged += OnTargetOnEffectiveViewportChanged;
root.Child = target;
await ExecuteInitialLayoutPass(root);
Assert.Equal(1, raised);
});
}
private TestRoot CreateRoot() => new TestRoot { Width = 1200, Height = 900 };
private Task ExecuteInitialLayoutPass(TestRoot root)

Loading…
Cancel
Save