committed by
GitHub
12 changed files with 137 additions and 22 deletions
@ -1,5 +1,5 @@ |
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<ItemGroup> |
|||
<PackageReference Include="ReactiveUI" Version="13.2.10" /> |
|||
<PackageReference Include="ReactiveUI" Version="18.3.1" /> |
|||
</ItemGroup> |
|||
</Project> |
|||
|
|||
@ -0,0 +1,71 @@ |
|||
using Avalonia.Platform; |
|||
using Avalonia.Threading; |
|||
using Avalonia.UnitTests; |
|||
using Moq; |
|||
using Xunit; |
|||
|
|||
namespace Avalonia.Controls.UnitTests; |
|||
|
|||
public class LoadedTests |
|||
{ |
|||
[Fact] |
|||
public void Window_Loads_And_Unloads() |
|||
{ |
|||
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|||
{ |
|||
int loadedCount = 0, unloadedCount = 0; |
|||
var target = new Window(); |
|||
|
|||
target.Loaded += (_, _) => loadedCount++; |
|||
target.Unloaded += (_, _) => unloadedCount++; |
|||
|
|||
Assert.Equal(0, loadedCount); |
|||
Assert.Equal(0, unloadedCount); |
|||
|
|||
target.Show(); |
|||
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded); |
|||
Assert.True(target.IsLoaded); |
|||
|
|||
Assert.Equal(1, loadedCount); |
|||
Assert.Equal(0, unloadedCount); |
|||
|
|||
target.Close(); |
|||
|
|||
Assert.Equal(1, loadedCount); |
|||
Assert.Equal(1, unloadedCount); |
|||
Assert.False(target.IsLoaded); |
|||
} |
|||
} |
|||
|
|||
[Fact] |
|||
public void Control_Loads_And_Unloads() |
|||
{ |
|||
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|||
{ |
|||
int loadedCount = 0, unloadedCount = 0; |
|||
var window = new Window(); |
|||
window.Show(); |
|||
|
|||
var target = new Button(); |
|||
|
|||
target.Loaded += (_, _) => loadedCount++; |
|||
target.Unloaded += (_, _) => unloadedCount++; |
|||
|
|||
Assert.Equal(0, loadedCount); |
|||
Assert.Equal(0, unloadedCount); |
|||
|
|||
window.Content = target; |
|||
Dispatcher.UIThread.RunJobs(DispatcherPriority.Loaded); |
|||
Assert.True(target.IsLoaded); |
|||
|
|||
Assert.Equal(1, loadedCount); |
|||
Assert.Equal(0, unloadedCount); |
|||
|
|||
window.Content = null; |
|||
|
|||
Assert.Equal(1, loadedCount); |
|||
Assert.Equal(1, unloadedCount); |
|||
Assert.False(target.IsLoaded); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue