Fix test failures

This commit is contained in:
smoogipoo 2020-04-22 18:14:21 +09:00
parent 9c22d2f1dd
commit e1142b424d
2 changed files with 15 additions and 38 deletions

View File

@ -10,24 +10,22 @@
using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects;
using osu.Game.Screens.Edit; using osu.Game.Screens.Edit;
using osu.Game.Screens.Edit.Compose.Components.Timeline; using osu.Game.Screens.Edit.Compose.Components.Timeline;
using osuTK.Input;
namespace osu.Game.Tests.Visual.Editor namespace osu.Game.Tests.Visual.Editor
{ {
public class TestSceneEditorChangeStates : ScreenTestScene public class TestSceneEditorChangeStates : ScreenTestScene
{ {
private EditorBeatmap editorBeatmap; private EditorBeatmap editorBeatmap;
private TestEditor editor;
public override void SetUpSteps() public override void SetUpSteps()
{ {
base.SetUpSteps(); base.SetUpSteps();
Screens.Edit.Editor editor = null;
AddStep("load editor", () => AddStep("load editor", () =>
{ {
Beatmap.Value = CreateWorkingBeatmap(new OsuRuleset().RulesetInfo); Beatmap.Value = CreateWorkingBeatmap(new OsuRuleset().RulesetInfo);
LoadScreen(editor = new Screens.Edit.Editor()); LoadScreen(editor = new TestEditor());
}); });
AddUntilStep("wait for editor to load", () => editor.ChildrenOfType<HitObjectComposer>().FirstOrDefault()?.IsLoaded == true AddUntilStep("wait for editor to load", () => editor.ChildrenOfType<HitObjectComposer>().FirstOrDefault()?.IsLoaded == true
@ -160,36 +158,15 @@ public void TestRemoveObjectThenUndoThenRedo()
AddAssert("no hitobject added", () => addedObject == null); AddAssert("no hitobject added", () => addedObject == null);
} }
private void addUndoSteps() private void addUndoSteps() => AddStep("undo", () => editor.Undo());
private void addRedoSteps() => AddStep("redo", () => editor.Redo());
private class TestEditor : Screens.Edit.Editor
{ {
AddStep("press undo", () => public new void Undo() => base.Undo();
{
InputManager.PressKey(Key.LControl);
InputManager.PressKey(Key.Z);
});
AddStep("release keys", () => public new void Redo() => base.Redo();
{
InputManager.ReleaseKey(Key.LControl);
InputManager.ReleaseKey(Key.Z);
});
}
private void addRedoSteps()
{
AddStep("press redo", () =>
{
InputManager.PressKey(Key.LControl);
InputManager.PressKey(Key.LShift);
InputManager.PressKey(Key.Z);
});
AddStep("release keys", () =>
{
InputManager.ReleaseKey(Key.LControl);
InputManager.ReleaseKey(Key.LShift);
InputManager.ReleaseKey(Key.Z);
});
} }
} }
} }

View File

@ -158,8 +158,8 @@ private void load(OsuColour colours, GameHost host)
{ {
Items = new[] Items = new[]
{ {
undoMenuItem = new EditorMenuItem("Undo", MenuItemType.Standard, undo), undoMenuItem = new EditorMenuItem("Undo", MenuItemType.Standard, Undo),
redoMenuItem = new EditorMenuItem("Redo", MenuItemType.Standard, redo) redoMenuItem = new EditorMenuItem("Redo", MenuItemType.Standard, Redo)
} }
} }
} }
@ -236,11 +236,11 @@ public bool OnPressed(PlatformAction action)
switch (action.ActionType) switch (action.ActionType)
{ {
case PlatformActionType.Undo: case PlatformActionType.Undo:
undo(); Undo();
return true; return true;
case PlatformActionType.Redo: case PlatformActionType.Redo:
redo(); Redo();
return true; return true;
case PlatformActionType.Save: case PlatformActionType.Save:
@ -329,9 +329,9 @@ public override bool OnExiting(IScreen next)
return base.OnExiting(next); return base.OnExiting(next);
} }
private void undo() => changeHandler.RestoreState(-1); protected void Undo() => changeHandler.RestoreState(-1);
private void redo() => changeHandler.RestoreState(1); protected void Redo() => changeHandler.RestoreState(1);
private void resetTrack(bool seekToStart = false) private void resetTrack(bool seekToStart = false)
{ {