Browse Source

Added scoping on the AppBuilder tests to limit the scope of the service initialization.

pull/707/head
Jeremy Koritzinsky 10 years ago
parent
commit
89f762f1ec
  1. 77
      tests/Avalonia.Controls.UnitTests/AppBuilderTests.cs

77
tests/Avalonia.Controls.UnitTests/AppBuilderTests.cs

@ -61,52 +61,61 @@ namespace Avalonia.Controls.UnitTests
[Fact] [Fact]
public void LoadsDefaultModule() public void LoadsDefaultModule()
{ {
ResetModuleLoadStates(); using (AvaloniaLocator.EnterScope())
AppBuilder.Configure<App>() {
.UseWindowingSubsystem(() => { }) ResetModuleLoadStates();
.UseRenderingSubsystem(() => { }) AppBuilder.Configure<App>()
.UseAvaloniaModules() .UseWindowingSubsystem(() => { })
.SetupWithoutStarting(); .UseRenderingSubsystem(() => { })
.UseAvaloniaModules()
.SetupWithoutStarting();
Assert.True(DefaultModule.IsLoaded); Assert.True(DefaultModule.IsLoaded);
}
} }
[Fact] [Fact]
public void LoadsRenderingModuleWithMatchingRenderingSubsystem() public void LoadsRenderingModuleWithMatchingRenderingSubsystem()
{ {
ResetModuleLoadStates(); using (AvaloniaLocator.EnterScope())
var builder = AppBuilder.Configure<App>() {
.UseWindowingSubsystem(() => { }) ResetModuleLoadStates();
.UseRenderingSubsystem(() => { }); var builder = AppBuilder.Configure<App>()
builder.RenderingSubsystemName = "Direct2D1"; .UseWindowingSubsystem(() => { })
builder.UseAvaloniaModules().SetupWithoutStarting(); .UseRenderingSubsystem(() => { });
Assert.False(DefaultRenderingModule.IsLoaded); builder.RenderingSubsystemName = "Direct2D1";
Assert.True(Direct2DModule.IsLoaded); builder.UseAvaloniaModules().SetupWithoutStarting();
Assert.False(SkiaModule.IsLoaded); Assert.False(DefaultRenderingModule.IsLoaded);
Assert.True(Direct2DModule.IsLoaded);
Assert.False(SkiaModule.IsLoaded);
ResetModuleLoadStates(); ResetModuleLoadStates();
builder = AppBuilder.Configure<App>() builder = AppBuilder.Configure<App>()
.UseWindowingSubsystem(() => { }) .UseWindowingSubsystem(() => { })
.UseRenderingSubsystem(() => { }); .UseRenderingSubsystem(() => { });
builder.RenderingSubsystemName = "Skia"; builder.RenderingSubsystemName = "Skia";
builder.UseAvaloniaModules().SetupWithoutStarting(); builder.UseAvaloniaModules().SetupWithoutStarting();
Assert.False(DefaultRenderingModule.IsLoaded); Assert.False(DefaultRenderingModule.IsLoaded);
Assert.False(Direct2DModule.IsLoaded); Assert.False(Direct2DModule.IsLoaded);
Assert.True(SkiaModule.IsLoaded); Assert.True(SkiaModule.IsLoaded);
}
} }
[Fact] [Fact]
public void LoadsRenderingModuleWithoutDependenciesWhenNoModuleMatches() public void LoadsRenderingModuleWithoutDependenciesWhenNoModuleMatches()
{ {
ResetModuleLoadStates(); using (AvaloniaLocator.EnterScope())
var builder = AppBuilder.Configure<App>() {
.UseWindowingSubsystem(() => { }) ResetModuleLoadStates();
.UseRenderingSubsystem(() => { }); var builder = AppBuilder.Configure<App>()
builder.RenderingSubsystemName = "Cairo"; .UseWindowingSubsystem(() => { })
builder.UseAvaloniaModules().SetupWithoutStarting(); .UseRenderingSubsystem(() => { });
Assert.True(DefaultRenderingModule.IsLoaded); builder.RenderingSubsystemName = "Cairo";
Assert.False(Direct2DModule.IsLoaded); builder.UseAvaloniaModules().SetupWithoutStarting();
Assert.False(SkiaModule.IsLoaded); Assert.True(DefaultRenderingModule.IsLoaded);
Assert.False(Direct2DModule.IsLoaded);
Assert.False(SkiaModule.IsLoaded);
}
} }
private static void ResetModuleLoadStates() private static void ResetModuleLoadStates()

Loading…
Cancel
Save