diff --git a/osu.Game.Tests/Visual/SongSelectV2/TestSceneSongSelect.cs b/osu.Game.Tests/Visual/SongSelectV2/TestSceneSongSelect.cs index 1534b1174b..82e6979bba 100644 --- a/osu.Game.Tests/Visual/SongSelectV2/TestSceneSongSelect.cs +++ b/osu.Game.Tests/Visual/SongSelectV2/TestSceneSongSelect.cs @@ -16,6 +16,7 @@ using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Osu; using osu.Game.Rulesets.Osu.Mods; using osu.Game.Scoring; +using osu.Game.Screens.Menu; using osu.Game.Screens.Play; using osu.Game.Screens.Ranking; using osu.Game.Screens.Select; @@ -77,6 +78,24 @@ namespace osu.Game.Tests.Visual.SongSelectV2 AddUntilStep("wait for results screen", () => Stack.CurrentScreen is ResultsScreen); } + [Test] + public void TestCookieDoesNothingIfNothingSelected() + { + var screensPushed = new List(); + + LoadSongSelect(); + AddStep("subscribe to screen pushed", () => Stack.ScreenPushed += onScreenPushed); + AddStep("click osu! cookie", () => + { + InputManager.MoveMouseTo(this.ChildrenOfType().Single()); + InputManager.Click(MouseButton.Left); + }); + AddAssert("no screens pushed", () => screensPushed, () => Is.Empty); + AddStep("unsubscribe from screen pushed", () => Stack.ScreenPushed -= onScreenPushed); + + void onScreenPushed(IScreen lastScreen, IScreen newScreen) => screensPushed.Add(lastScreen); + } + #region Hotkeys [Test]