Files
HellionChat/HellionChat/SelfTests/OnOpenMainUiRoutesMainWindowStep.cs
T

46 lines
1.1 KiB
C#

using Dalamud.Bindings.ImGui;
using Dalamud.Plugin.SelfTest;
namespace HellionChat.SelfTests;
internal sealed class OnOpenMainUiRoutesMainWindowStep : ISelfTestStep
{
private readonly Plugin _plugin;
public OnOpenMainUiRoutesMainWindowStep(Plugin plugin)
{
_plugin = plugin;
}
public string Name => "Hellion Chat - OpenMainUi routes to MainWindow";
public SelfTestStepResult RunStep()
{
var settingsBefore = _plugin.SettingsWindow.IsOpen;
var mainBefore = _plugin.MainWindow.IsOpen;
_plugin.MainWindow.Toggle();
var mainAfter = _plugin.MainWindow.IsOpen;
var settingsAfter = _plugin.SettingsWindow.IsOpen;
// Restore original state.
_plugin.MainWindow.Toggle();
if (mainAfter == mainBefore)
{
ImGui.Text("MainWindow did not toggle");
return SelfTestStepResult.Fail;
}
if (settingsAfter != settingsBefore)
{
ImGui.Text("SettingsWindow state changed unexpectedly");
return SelfTestStepResult.Fail;
}
return SelfTestStepResult.Pass;
}
public void CleanUp() { }
}