From 2ccb65aa653f57e23f68a6debf3f953db0f53427 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Aug 2025 18:40:52 +0900 Subject: [PATCH] Add test coverage and fix one more fail case --- osu.Game.Tests/Visual/Gameplay/TestSceneReplayPlayer.cs | 8 ++++++++ osu.Game/Screens/Play/ReplayPlayer.cs | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneReplayPlayer.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneReplayPlayer.cs index 4a0f5fec6c..6be8f7d185 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneReplayPlayer.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneReplayPlayer.cs @@ -24,6 +24,14 @@ namespace osu.Game.Tests.Visual.Gameplay { protected TestReplayPlayer Player = null!; + [Test] + public void TestFailedBeatmapLoad() + { + loadPlayerWithBeatmap(new TestBeatmap(new OsuRuleset().RulesetInfo, withHitObjects: false)); + + AddUntilStep("wait for exit", () => Player.IsCurrentScreen()); + } + [Test] public void TestPauseViaSpace() { diff --git a/osu.Game/Screens/Play/ReplayPlayer.cs b/osu.Game/Screens/Play/ReplayPlayer.cs index 51cfb9a9f3..1c583609d9 100644 --- a/osu.Game/Screens/Play/ReplayPlayer.cs +++ b/osu.Game/Screens/Play/ReplayPlayer.cs @@ -32,7 +32,9 @@ namespace osu.Game.Screens.Play [Cached(typeof(IGameplayLeaderboardProvider))] private readonly SoloGameplayLeaderboardProvider leaderboardProvider = new SoloGameplayLeaderboardProvider(); - protected override UserActivity? InitialActivity => new UserActivity.WatchingReplay(Score.ScoreInfo); + protected override UserActivity? InitialActivity => + // score may be null if LoadedBeatmapSuccessfully is false. + Score == null ? null : new UserActivity.WatchingReplay(Score.ScoreInfo); private bool isAutoplayPlayback => GameplayState.Mods.OfType().Any();