mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
58 lines
1.9 KiB
C#
58 lines
1.9 KiB
C#
|
|
using LanMountainDesktop.Shared.Contracts.Launcher;
|
||
|
|
using Xunit;
|
||
|
|
|
||
|
|
namespace LanMountainDesktop.Tests;
|
||
|
|
|
||
|
|
public sealed class StartupVisualPreferencesTests
|
||
|
|
{
|
||
|
|
[Fact]
|
||
|
|
public void FromFlags_WhenSlideEnabled_DisablesFadeAndUsesSlideMode()
|
||
|
|
{
|
||
|
|
var preferences = StartupVisualPreferencesResolver.FromFlags(
|
||
|
|
enableFadeTransition: true,
|
||
|
|
enableSlideTransition: true);
|
||
|
|
|
||
|
|
Assert.False(preferences.EnableFadeTransition);
|
||
|
|
Assert.True(preferences.EnableSlideTransition);
|
||
|
|
Assert.Equal(StartupVisualMode.SlideSplash, preferences.Mode);
|
||
|
|
}
|
||
|
|
|
||
|
|
[Fact]
|
||
|
|
public void FromFlags_WhenFadeDisabledAndSlideDisabled_UsesStaticSplashMode()
|
||
|
|
{
|
||
|
|
var preferences = StartupVisualPreferencesResolver.FromFlags(
|
||
|
|
enableFadeTransition: false,
|
||
|
|
enableSlideTransition: false);
|
||
|
|
|
||
|
|
Assert.False(preferences.EnableFadeTransition);
|
||
|
|
Assert.False(preferences.EnableSlideTransition);
|
||
|
|
Assert.Equal(StartupVisualMode.StaticSplash, preferences.Mode);
|
||
|
|
}
|
||
|
|
|
||
|
|
[Fact]
|
||
|
|
public void Resolve_WhenFadeSettingMissing_DefaultsToFadeEnabled()
|
||
|
|
{
|
||
|
|
var tempDirectory = Path.Combine(Path.GetTempPath(), "LanMountainDesktop.StartupVisualTests", Guid.NewGuid().ToString("N"));
|
||
|
|
Directory.CreateDirectory(tempDirectory);
|
||
|
|
var settingsPath = Path.Combine(tempDirectory, "settings.json");
|
||
|
|
File.WriteAllText(settingsPath, """
|
||
|
|
{
|
||
|
|
"enableSlideTransition": false
|
||
|
|
}
|
||
|
|
""");
|
||
|
|
|
||
|
|
try
|
||
|
|
{
|
||
|
|
var preferences = StartupVisualPreferencesResolver.Resolve(settingsPath);
|
||
|
|
|
||
|
|
Assert.True(preferences.EnableFadeTransition);
|
||
|
|
Assert.False(preferences.EnableSlideTransition);
|
||
|
|
Assert.Equal(StartupVisualMode.Fade, preferences.Mode);
|
||
|
|
}
|
||
|
|
finally
|
||
|
|
{
|
||
|
|
Directory.Delete(tempDirectory, recursive: true);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|