You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Enabled Vulkan in RendererSettings.cs.
- Fixed Android surface handling in OsuGameActivity.cs with null-safe handle access.
- Improved robustness of visual tests:
- Added explicit wait for context menu items in TestSceneDeleteLocalScore.
- Used Last() instead of Single() in TestSceneSoloResultsScreen to handle multiple instances in the hierarchy.
- Fixed numerous Nullable RoomID crashes.
- Maintained test retries and code quality fixes.
AddUntilStep("wait for loaded",()=>((Drawable)Stack.CurrentScreen).IsLoaded);
101
-
AddUntilStep("local score is #16",()=>this.ChildrenOfType<ScorePanelList>().Single().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(16));
101
+
AddUntilStep("local score is #16",()=>this.ChildrenOfType<ScorePanelList>().Last().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(16));
102
102
}
103
103
104
104
[Test,Retry(3)]
@@ -128,7 +128,7 @@ public void TestLocalLeaderboardWithOnlineScore()
AddUntilStep("wait for loaded",()=>((Drawable)Stack.CurrentScreen).IsLoaded);
131
-
AddUntilStep("local score is #16",()=>this.ChildrenOfType<ScorePanelList>().Single().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(16));
131
+
AddUntilStep("local score is #16",()=>this.ChildrenOfType<ScorePanelList>().Last().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(16));
132
132
}
133
133
134
134
[Test,Retry(3)]
@@ -168,7 +168,7 @@ public void TestOnlineLeaderboardWithLessThan50Scores()
168
168
LoadScreen(newSoloResultsScreen(localScore));
169
169
});
170
170
AddUntilStep("wait for loaded",()=>((Drawable)Stack.CurrentScreen).IsLoaded);
171
-
AddUntilStep("local score is #16",()=>this.ChildrenOfType<ScorePanelList>().Single().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(16));
171
+
AddUntilStep("local score is #16",()=>this.ChildrenOfType<ScorePanelList>().Last().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(16));
172
172
}
173
173
174
174
[Test,Retry(3)]
@@ -219,7 +219,7 @@ public void TestOnlineLeaderboardWithLessThan50Scores_UserWasInTop50()
219
219
LoadScreen(newSoloResultsScreen(localScore));
220
220
});
221
221
AddUntilStep("wait for loaded",()=>((Drawable)Stack.CurrentScreen).IsLoaded);
222
-
AddUntilStep("local score is #16",()=>this.ChildrenOfType<ScorePanelList>().Single().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(16));
222
+
AddUntilStep("local score is #16",()=>this.ChildrenOfType<ScorePanelList>().Last().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(16));
223
223
AddAssert("previous user best not shown",()=>this.ChildrenOfType<ScorePanel>().All(p =>p.Score.OnlineID!=123456));
224
224
}
225
225
@@ -317,7 +317,7 @@ public void TestOnlineLeaderboardWithLessThan50Scores_UserIsLast()
317
317
LoadScreen(newSoloResultsScreen(localScore));
318
318
});
319
319
AddUntilStep("wait for loaded",()=>((Drawable)Stack.CurrentScreen).IsLoaded);
320
-
AddUntilStep("local score is #31",()=>this.ChildrenOfType<ScorePanelList>().Single().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(31));
320
+
AddUntilStep("local score is #31",()=>this.ChildrenOfType<ScorePanelList>().Last().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(31));
321
321
}
322
322
323
323
[Test,Retry(3)]
@@ -370,7 +370,7 @@ public void TestOnlineLeaderboardWithMoreThan50Scores_UserOutsideOfTop50_DidNotB
370
370
LoadScreen(newSoloResultsScreen(localScore));
371
371
});
372
372
AddUntilStep("wait for loaded",()=>((Drawable)Stack.CurrentScreen).IsLoaded);
373
-
AddAssert("local score has no position",()=>this.ChildrenOfType<ScorePanelList>().Single().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.Null);
373
+
AddAssert("local score has no position",()=>this.ChildrenOfType<ScorePanelList>().Last().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.Null);
374
374
AddUntilStep("previous user best shown at same position",()=>this.ChildrenOfType<ScorePanel>().Any(p =>p.Score.OnlineID==123456&&p.ScorePosition.Value==133_337));
375
375
}
376
376
@@ -425,7 +425,7 @@ public void TestOnlineLeaderboardWithMoreThan50Scores_UserOutsideOfTop50_BeatOwn
425
425
LoadScreen(newSoloResultsScreen(localScore));
426
426
});
427
427
AddUntilStep("wait for loaded",()=>((Drawable)Stack.CurrentScreen).IsLoaded);
428
-
AddAssert("local score has no position",()=>this.ChildrenOfType<ScorePanelList>().Single().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.Null);
428
+
AddAssert("local score has no position",()=>this.ChildrenOfType<ScorePanelList>().Last().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.Null);
429
429
AddAssert("previous user best not shown",()=>this.ChildrenOfType<ScorePanel>().All(p =>p.Score.OnlineID!=123456));
430
430
}
431
431
@@ -479,7 +479,7 @@ public void TestOnlineLeaderboardWithMoreThan50Scores_UserInTop50()
479
479
LoadScreen(newSoloResultsScreen(localScore));
480
480
});
481
481
AddUntilStep("wait for loaded",()=>((Drawable)Stack.CurrentScreen).IsLoaded);
482
-
AddUntilStep("local score is #36",()=>this.ChildrenOfType<ScorePanelList>().Single().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(36));
482
+
AddUntilStep("local score is #36",()=>this.ChildrenOfType<ScorePanelList>().Last().GetPanelForScore(localScore).ScorePosition.Value,()=>Is.EqualTo(36));
483
483
AddAssert("previous user best not shown",()=>this.ChildrenOfType<ScorePanel>().All(p =>p.Score.OnlineID!=123456));
AddUntilStep("wait for delete option",()=>contextMenuContainer.ChildrenOfType<DrawableOsuMenuItem>().Any(i =>string.Equals(i.Item.Text.Value.ToString(),"delete",System.StringComparison.OrdinalIgnoreCase)));
0 commit comments