1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-27 04:22:56 +08:00
Commit Graph

8353 Commits

Author SHA1 Message Date
Bartłomiej Dach
a8bb696e5b
Cache gameplay clock in more places to fix song progress related tests 2022-03-17 21:22:07 +01:00
Dean Herbert
e3ab5de8cd Tidy up constructor logic overlap with gameplayStartTime 2022-03-18 01:35:50 +09:00
Dean Herbert
e3a8bb2d1c Add test coverage of SpectatorPlayer failing to seek on inopportune frame arrival time 2022-03-17 20:57:30 +09:00
Dean Herbert
ef29de9971 Add one more missing dependency required by SongProgress 2022-03-17 19:50:43 +09:00
Dan Balasescu
da0ffab14e Integrate ready button implementation 2022-03-17 18:43:04 +09:00
Dan Balasescu
461d41529b Integrate spectate button implementation 2022-03-17 18:36:33 +09:00
Dean Herbert
ac739c9dae Change PerformancePointsCounter resolution requirements to be required
All other similar UI components have required dependencies, so this is
mainly to bring things in line with expectations. I am using this fact
in the skin editor to only show components which can be used in the
current editor context (by `try-catch`ing their
`Activator.CreateInstance`).
2022-03-17 14:56:35 +09:00
Salman Ahmed
46e66e66e4 Make opening chat overlay opt-in to add coverage for unloaded chat overlays
Causes `TestHighlightWhileChatNeverOpen` to fail as expected.
2022-03-17 08:19:40 +03:00
Bartłomiej Dach
624f9fc774
Implement mod settings area component 2022-03-16 23:13:11 +01:00
Bartłomiej Dach
a8cefca685
Simplify fade-out transform 2022-03-16 21:49:04 +01:00
Bartłomiej Dach
03d3969b38
Remove unnecessary OsuColour cache
One is already cached at `OsuGameBase` level.
2022-03-16 21:46:02 +01:00
Dean Herbert
3f61b0d968 Add missing OverlayColourProvider to SkinEditor test 2022-03-16 22:23:19 +09:00
Dan Balasescu
7f65f6adcc
Merge branch 'master' into skin-editor-sidebars 2022-03-16 21:12:18 +09:00
Jai Sharma
c2e4779c2e Remove redundant spacing in ControlItem test scene 2022-03-16 11:57:11 +00:00
Dan Balasescu
b9387c7ff1
Merge branch 'master' into skin-editor-scene-library 2022-03-16 20:42:30 +09:00
Dean Herbert
4525ed645c Update skin editor to use EditorSidebar 2022-03-16 19:30:51 +09:00
Dean Herbert
d062810ff2 Add basic scene selector 2022-03-16 19:12:06 +09:00
Dean Herbert
2452d84e98 Add missing Schedule call to allow individual tests from TestSceneMessageNotifier to pass 2022-03-16 18:44:30 +09:00
Dan Balasescu
7e8aa77b2b
Merge pull request #17260 from peppy/editor-sidebar
Add `EditorSidebar` component
2022-03-16 18:20:18 +09:00
Dean Herbert
ba1642a680 Allow section headers to wrap 2022-03-16 17:19:08 +09:00
Jai Sharma
1c79083f96 Move all PlaylistResultScreen test state initialisation into SetUpSteps 2022-03-15 22:15:35 +00:00
Jai Sharma
c56df80106 Fix PlaylistResultsScreen test failures
As seen: https://github.com/ppy/osu/pull/17252/checks?check_run_id=5545717506

The `PlaylistsResultsScreen` takes a lease on the `Beatmap` bindable
when entered. During `SetUp`, the `Beatmap` bindable is reassigned but
fails in cases where an existing test instance of the screen hasn't been
exited yet. This fix moves the assignment into the `SetUpSteps` function
after `base.SetUpSteps` is called which will exit the existing screens
first.
2022-03-15 20:38:04 +00:00
Dean Herbert
9e476ced63 Add EditorSidebar component 2022-03-15 16:38:00 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dan Balasescu
daac933498 Remove unnecessary ctor arguments 2022-03-15 12:34:58 +09:00
Dan Balasescu
faf145742f Fix incorrect provided ruleset in test 2022-03-15 09:21:09 +09:00
Dan Balasescu
59d57a44d4 Prevent incorrect usages by hard-typing ctor type 2022-03-15 09:11:59 +09:00
Jai Sharma
6628b7c654 Ensure existing items are expired and cleared in ChannelControlItem test setup 2022-03-14 22:21:18 +00:00
Jai Sharma
75958bf270 Refactor ControlItemText to use bindable flow for unread state 2022-03-14 21:32:30 +00:00
Jai Sharma
b01a809d55 Refactor ControlItemMention to use bindable flow 2022-03-14 21:26:33 +00:00
Jai Sharma
9621ef9437 Use OsuColour.Red1 for ControlItemClose hover colour 2022-03-14 21:10:39 +00:00
Jai Sharma
e9f0ad33ef Use autosizing for ChannelControlItem test scene 2022-03-14 20:06:31 +00:00
Jai Sharma
c0d82dfb41 Code quality fixes 2022-03-14 19:42:55 +00:00
Jai Sharma
39c30516d0 Implement ChannelControlItem for new chat design
Adds new component `ChannelControlItem` and it's child components to be
used as the clickable control in the new chat sidebar for joined
channels.

Has public properties `HasUnread` and `MentionCount` to control the
display of the channel having unread messages or mentions of the user.

Channel select/join requests are exposed via `OnRequestSelect` and
`OnRequestLeave` events respectively which should be handled by a parent
component.

Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.

Requires a cached `OveralayColourScheme` instance to be provided by a
parent component.
2022-03-14 18:55:27 +00:00
Dean Herbert
b31ff679fb Provide correct HitResult type for random judgements in TestSceneHitErrorMeter 2022-03-14 19:16:19 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dan Balasescu
4a3e3aba65 Restructure PerformanceCalculator to not require ScoreInfo argument 2022-03-14 14:25:28 +09:00
Salman Ahmed
720e1cd206 Add failing test cases 2022-03-14 03:47:18 +03:00
Salman Ahmed
dbc26c3534 Add failing test assertion 2022-03-14 03:46:11 +03:00
Salman Ahmed
cc87563d57
Merge branch 'master' into chat-mention-highlight 2022-03-11 17:51:22 +03:00
Salman Ahmed
a31611bdec Improve channel switching flow in HighlightMessage 2022-03-10 23:07:15 +03:00
Salman Ahmed
e419370830 Add test coverage for highlighting message on left channel 2022-03-10 21:30:02 +03:00
Dean Herbert
e4ef540b5b Fix intermittent failures on TestBeatmapDownloadingFlow due to slow realm refresh 2022-03-10 20:33:14 +09:00
Dean Herbert
d1f8fd01df
Merge pull request #17180 from jai-x/new-chat-channel-listing
Implement `ChannelListing` for new chat design
2022-03-10 19:27:58 +09:00
Dean Herbert
d5eca16b69 Fix potential test failures due to slow realm refresh in TestSceneScreenNavigation
As seen at https://github.com/ppy/osu/runs/5492345983?check_suite_focus=true.
2022-03-10 18:10:08 +09:00
Dean Herbert
db5c2c15dc
Merge pull request #17164 from smoogipoo/scoreprocessor-rework
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
Dan Balasescu
13a4058efd
Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
Dan Balasescu
cf91353009 Merge branch 'master' into scoreprocessor-rework 2022-03-10 16:14:28 +09:00
Dean Herbert
0155519343 Merge branch 'master' into new-chat-channel-listing 2022-03-10 15:49:06 +09:00
Dean Herbert
022dd88aef
Merge branch 'master' into chat-mention-highlight 2022-03-10 14:23:23 +09:00
Salman Ahmed
f229447453 Add too many messages to better test long scrolls 2022-03-10 04:01:07 +03:00
Salman Ahmed
d4de435eb2 Add test case for highlighting while chat overlay is hidden 2022-03-10 02:50:27 +03:00
Salman Ahmed
80c0df6af5 Scroll chat line to channel center
We may eventually want that encapsulated within `ScrollIntoView`, as it
would also come in handy for `GameplayLeaderboard`.
2022-03-10 02:50:15 +03:00
Jai Sharma
b67f9269f9 Remove NewChat namespace 2022-03-09 18:13:56 +00:00
Dean Herbert
94ff6a338f
Merge branch 'master' into scoreprocessor-rework 2022-03-09 23:04:18 +09:00
Dean Herbert
5fb51b578f Update dependencies
Mainly for a `Clowd.Squirrel` bump to fix https://github.com/ppy/osu/discussions/17190.
2022-03-09 19:09:51 +09:00
Dean Herbert
2e350a91cc Fix non-matching filename 2022-03-09 18:07:43 +09:00
Dean Herbert
2eb3365f46 Fix regressing issues when attempting to exit Player after an unsuccessful beatmap load 2022-03-09 17:57:58 +09:00
Dean Herbert
1ee0be5e39 Ensure gameplay can't start when an UnknownMod is present 2022-03-09 17:57:58 +09:00
Dean Herbert
0267aed846 Change ToMod to return an UnknownMod rather than throw if a mod isn't available
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).

Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.

```
 An unhandled has occurred.
 System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
 at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
 at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
 at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
 at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
 at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
 at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
 at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
 at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
 at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
 at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
Dean Herbert
affcf5180b
Merge pull request #17161 from smoogipoo/fix-listing-score-conversion
Fix scores not being recalculated in beatmap overlay
2022-03-09 13:32:45 +09:00
Dean Herbert
58aef25ad5
Merge pull request #17152 from bdach/mod-overlay/difficulty-multiplier
Implement difficulty multiplier display for new mod select design
2022-03-09 12:11:16 +09:00
Dan Balasescu
810cbd745d
Merge pull request #17170 from peppy/fix-top-local-rank-test-failures-realm-callback
Refactor top local rank test method to be more resilient to slow realm callbacks
2022-03-09 11:14:37 +09:00
Dan Balasescu
af4423959c
Merge pull request #17169 from peppy/fix-song-select-test-failures-realm-callback
Refactor song select test methods to be resilient to slow realm callbacks
2022-03-09 11:14:26 +09:00
Jai Sharma
9720a06b16 Use int in ChannelListing test 2022-03-09 00:52:33 +00:00
Jai Sharma
a3477c3841 Implement ChannelListing for new chat design
Adds components `ChannelListing` and `ChannelListing` item with visual
test. Essentially a more simplified version of the existing
`ChannelSelectionOverlay` component.

Correctly implements `IFilterable` behaviour to filter child channel
items. Channel joined state is based on the underlying `Joined` bindable
of the `Channel` class.

Channel join/leave events are exposed via `OnRequestJoin` and
`OnRequestLeave` events which should be handled by parent component.

Requires a cached `OverlayColourScheme` instance to be provided by the
parent overlay component when added.
2022-03-08 22:30:58 +00:00
Bartłomiej Dach
e91226f578
Fix 'auto-property never assigned to' inspections 2022-03-08 21:41:10 +01:00
Dan Balasescu
714789f726
Merge pull request #17167 from peppy/fix-download-button-test-failure
Fix potential test failure on slow realm callback in `TestSceneBeatmapDownloadButton`
2022-03-09 01:49:23 +09:00
Dean Herbert
233c8232d3 Fix TestSceneTopLocalRank.TestHighScoreSet not waiting for potentially slow realm callback
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:22:01 +09:00
Dean Herbert
286bafe326 Refactor multiple TestScenePlaySongSelect test methods to be resilient to slow realm callbacks 2022-03-09 01:18:53 +09:00
Dean Herbert
56ad684f5b Fix potential test failure on slow realm callback in TestSceneBeatmapDownloadButton
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:11:46 +09:00
Dan Balasescu
729af28a64 Fix intermittent test failure 2022-03-09 00:48:12 +09:00
Dan Balasescu
94d5e2f264 Fix test failure ripple through entire TestScene 2022-03-09 00:48:03 +09:00
Dan Balasescu
e9a2d23542 Fix score order related test failure 2022-03-08 23:35:35 +09:00
Dan Balasescu
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
2c382bd1d9 Rename GetImmediateScore() as overload of GetScore() 2022-03-08 21:49:40 +09:00
Dean Herbert
da7c6f1772 Merge branch 'master' into chat-mention-highlight 2022-03-08 21:15:12 +09:00
Dan Balasescu
d13a66a96c Rework test scene by only relying on OnlineID 2022-03-08 20:11:56 +09:00
Dean Herbert
9a347af5c7 Add test coverage of SubmittableScore serialisation to (roughly) match spec 2022-03-08 17:58:52 +09:00
Dean Herbert
2a55c5e02e Add extension method to detect and isolate realm collection-level changes 2022-03-08 14:50:47 +09:00
Salman Ahmed
7f47be4680 Refactor message highlighting logic to rely on a Channel data bindable 2022-03-08 03:19:37 +03:00
Bartłomiej Dach
78a3b5961e
Implement basic difficulty multiplier display 2022-03-07 22:50:51 +01:00
Dean Herbert
31d6c75f40 Merge branch 'master' into realm-property-watching 2022-03-07 13:53:17 +09:00
Dean Herbert
bd1adaf245
Merge pull request #17115 from frenzibyte/manual-channel-scroll
Refactor channel scrolling container to handle non-user scrolls
2022-03-07 11:26:23 +09:00
Salman Ahmed
741702549b Add test coverage for chat overlay message highlighting 2022-03-07 05:10:49 +03:00
Salman Ahmed
cb2133944d Add test coverage for channel message highlighting 2022-03-07 05:10:49 +03:00
Dan Balasescu
ba83db0229
Merge pull request #17134 from bdach/mod-overlay/popup-screen-title
Implement popup screen title component
2022-03-07 11:03:38 +09:00
Salman Ahmed
e5a6564034
Merge branch 'master' into fix-storyboard-sample-rate 2022-03-07 03:12:40 +03:00
Salman Ahmed
9bc1f3f014 Further refactor and simplify ChannelScrollContainer 2022-03-06 23:34:12 +03:00
Bartłomiej Dach
54275813b5
Use text flow container in popup screen title 2022-03-06 20:41:31 +01:00
Bartłomiej Dach
df0617f34c
Implement popup screen title component 2022-03-06 16:09:18 +01:00
Salman Ahmed
5b3ffb12b7 Refactor channel scrolling container to handle manual scrolls resiliently 2022-03-05 23:27:07 +03:00
Dean Herbert
0e8ad4b143 Switch step to Until steps due to AddOnce firing logic 2022-03-06 01:50:25 +09:00
Salman Ahmed
76e64f5013 Use manual framed clock for lead-in player test scene 2022-03-04 14:22:39 +03:00
Dean Herbert
e9e92b991e Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 15:09:44 +09:00
Dean Herbert
92cd8ee29f Decrease overhead of hit event distribution tests 2022-03-04 14:56:49 +09:00
Dean Herbert
540d7d0e2c Add the ability to set and show an offset value on timing distribution graph 2022-03-04 14:36:15 +09:00
Dean Herbert
e09dd7d8fe Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 13:25:14 +09:00
Dean Herbert
835cb09537 Merge branch 'master' into fix-hit-distribution-rounding 2022-03-04 12:43:57 +09:00
Dean Herbert
b0688cc6dd Merge branch 'master' into fix-storyboard-sample-rate 2022-03-04 12:04:49 +09:00
Bartłomiej Dach
e1610b5d32
Merge branch 'master' into ruleset-leaderboard-unavailable 2022-03-03 22:52:20 +01:00
Dean Herbert
1485a3a28a Add test coverage of proeprty changed subscriptions 2022-03-03 17:56:49 +09:00
Dean Herbert
a06d806fb9 Fix hit distribution graph midpoint rounding not looking great around zero
Not sure this will be accepted and it's likely only ever going to show
in tests, but seems to be a better approach to midpoint rounding for
this case?
2022-03-03 15:43:02 +09:00
Dean Herbert
a38eb426ef
Merge pull request #17026 from peppy/beatmap-offset-control
Add basic beatmap offset adjustment
2022-03-03 14:23:19 +09:00
Salman Ahmed
2f485a29d5
Merge branch 'master' into mod-overlay/columns 2022-03-03 00:11:33 +03:00
Salman Ahmed
2ce4faa356 Fix typo in method name 2022-03-03 00:02:36 +03:00
Salman Ahmed
bb94d68139 Separate storyboard samples and skip intro steps to own methods 2022-03-02 23:55:42 +03:00
Salman Ahmed
82bbc32d74 Remove unnecessary Schedule during setup 2022-03-02 23:44:58 +03:00
Salman Ahmed
a812ed4462 Ensure there is at least one sample during rate assertion 2022-03-02 23:40:14 +03:00
Salman Ahmed
cbb8dc2891 Fix storyboard samples rate not adjusted from actual gameplay mods 2022-03-02 20:56:18 +03:00
Salman Ahmed
e14a35b469 Add failing test case 2022-03-02 20:32:41 +03:00
Dean Herbert
f15b8781bb Move editor mode selector out of EditorMenuBar to allow for better reuse 2022-03-02 20:05:01 +09:00
Dean Herbert
dc6fa13337
Merge branch 'master' into mod-overlay/columns 2022-03-02 15:04:37 +09:00
Dean Herbert
ed9ecd6951 Fix test scene failures by ensuring that first GameplayClock frame has processed first 2022-03-02 14:45:39 +09:00
Dean Herbert
3cbcb702f6 Fix calibration button disabled state not checking in corrrect direction 2022-03-02 14:36:15 +09:00
Dean Herbert
c342030b2c Add specific placeholder message for custom rulesets rather than showing network error 2022-03-02 14:10:59 +09:00
Dean Herbert
09a74cdfc6
Merge pull request #17023 from peppy/realm-async-write
Add `RealmAccess.WriteAsync` method and more statistics of realm reads/writes
2022-03-02 12:31:16 +09:00
Salman Ahmed
2767dda9d6 Add failing test case 2022-03-01 20:21:33 +03:00
Dean Herbert
222f50d211 Fix calibration being back-to-front 2022-03-01 20:41:54 +09:00
Dean Herbert
4d9efe771b Don't display calibration options when the previous play was too short to be useful 2022-03-01 20:12:59 +09:00
Dean Herbert
fab09575ec Add full testing flow for BeatmapOffsetControl 2022-03-01 18:44:15 +09:00
Dean Herbert
1847f69bf9 Add basic beatmap offset adjustment control 2022-03-01 18:44:15 +09:00
Dean Herbert
5e47e35f0d Add ability to change distribution of test HitEvents 2022-03-01 18:44:15 +09:00
Dean Herbert
9a117467b5 Add RealmAccess.WriteAsync method 2022-03-01 18:44:05 +09:00
Bartłomiej Dach
6cc972aa6a
Fix test failures by waiting for panel load 2022-02-28 21:36:13 +01:00
Bartłomiej Dach
42b27e3050
Clean up test step names 2022-02-28 20:44:13 +01:00
Dean Herbert
3634e12e66 Automatically focus divisor textbox and hide popover after successful change 2022-02-28 15:23:01 +09:00
Bartłomiej Dach
16c6b9b3b3
Add keyboard selection support to mod column 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
b690df05de
Hide multiselection checkbox if everything is filtered 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a83f96b026
Add filtering support to mod column 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
fe4e4bf9c5
Add test coverage of multiselection behaviour 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
53e8072632
Port multiselection from previous design 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
2e04a83554
Implement column display for new mod design 2022-02-27 22:51:27 +01:00
Bartłomiej Dach
a5600516f0
Fix test failures 2022-02-27 20:13:44 +01:00
Bartłomiej Dach
7de5dad4f0
Add test coverage for divisor behaviour 2022-02-27 19:23:02 +01:00
Bartłomiej Dach
423838a649
Add flow for specifying entirely custom snaps 2022-02-27 17:55:20 +01:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets 2022-02-27 15:37:51 +01:00
Dan Balasescu
e947c97e10
Merge branch 'master' into spectator-reliability 2022-02-25 20:20:30 +09:00
Dean Herbert
926abf7a0c
Merge pull request #16985 from smoogipoo/multi-spectator-chat
Add chat display to multiplayer spectator
2022-02-25 20:19:07 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
Dan Balasescu
f9d9ad388b Add chat display to multiplayer spectator screen 2022-02-25 16:03:28 +09:00
Bartłomiej Dach
769dc9b00b
Merge branch 'master' into mod-overlay/panel 2022-02-24 21:02:28 +01:00
Dean Herbert
d69446ff6e
Merge pull request #16979 from smoogipoo/fix-playlists-partial-mod
Fix playlists not allowing entry with partial mods
2022-02-24 19:37:10 +09:00
Dan Balasescu
328166f0d5 Add failing test 2022-02-24 17:01:04 +09:00
Dean Herbert
6e8daa06fa Merge branch 'master' into mod-overlay/panel 2022-02-24 14:34:59 +09:00
Bartłomiej Dach
713f89a59c
Implement incompatibility-displaying variant of mod panel 2022-02-23 23:19:06 +01:00
Bartłomiej Dach
8a0aba6c59
Implement mod panel for new mod select screen 2022-02-23 23:18:14 +01:00
Bartłomiej Dach
29d77a29aa
Merge branch 'master' into startup-protocol-handling 2022-02-23 21:10:27 +01:00
Dean Herbert
260cf793fe Add test coverage of more advanced frame delivery scenarios to TestSceneSpectatorPlayback 2022-02-24 02:28:13 +09:00
Dean Herbert
c94e7e2abe Add ability to simulate network failures to TestSpectatorClient 2022-02-24 02:23:48 +09:00
Dean Herbert
14c8ce50a0 Prefix all test send methods in TestSpectatorClient with Send 2022-02-24 02:23:48 +09:00
Dean Herbert
5e7dd31f6d
Merge branch 'master' into mod-overlay/switches 2022-02-23 13:49:23 +09:00
Bartłomiej Dach
1a358698fb
Merge branch 'master' into startup-protocol-handling 2022-02-22 22:42:16 +01:00
Dean Herbert
5efffa208a Add test coverage of beatmap set overlay actually showing requested beatmap 2022-02-22 17:08:09 +09:00
Dean Herbert
347a2346b9 Fix TestSceneEditorSaving not waiting for timeline load
As seen at
https://github.com/ppy/osu/runs/5276431764?check_suite_focus=true.
2022-02-22 15:41:08 +09:00
Bartłomiej Dach
cfc41a0a36
Implement small mod switch 2022-02-22 00:26:35 +01:00
Bartłomiej Dach
5186693dad
Implement tiny mod switch 2022-02-22 00:26:35 +01:00
Bartłomiej Dach
d71e511413
Merge branch 'master' into spotlights-on-top 2022-02-21 23:42:02 +01:00
Bartłomiej Dach
e3ae52360e
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 20:50:00 +01:00
Dean Herbert
98c008b95f Fix test failures due to order change 2022-02-21 19:48:39 +09:00
Dan Balasescu
46b408be75 Update tests to match new behaviour 2022-02-21 18:19:55 +09:00
Dean Herbert
ab8b502709 Add test coverage of spotlights being at the top of the listing 2022-02-21 18:01:46 +09:00
Dean Herbert
abe1a3990a
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 12:11:10 +09:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together 2022-02-19 20:47:02 +01:00
Dean Herbert
3abbf07fb3 Revert local registrations in test scenes 2022-02-18 16:52:34 +09:00
Dean Herbert
631c23ea3a Merge branch 'master' into beatmap-decoder-ruleset-store 2022-02-18 16:52:33 +09:00
Dean Herbert
29c5683ba3 Add handling of beatmap links on startup 2022-02-18 16:14:37 +09:00
Dean Herbert
98aaf83177 Add a centralised constant for the osu URL schema protocol 2022-02-18 15:57:37 +09:00
Dean Herbert
bbc4ea1203
Merge branch 'master' into better-new-difficulty-naming 2022-02-17 19:21:33 +09:00
dekrain
f4d1e6f600
Add tests for timerefs 2022-02-17 10:38:29 +01:00
Bartłomiej Dach
e459523afe
Adjust beatmap creation test cases to new behaviour 2022-02-17 00:28:18 +01:00
Bartłomiej Dach
cb9ffc655a
Add tests showing expected behaviour of naming helper 2022-02-17 00:28:13 +01:00
Dean Herbert
5477af08c5 Register an AssemblyRulesetStore in tests which don't use OsuGameBase 2022-02-16 17:21:57 +09:00
Dean Herbert
0138f22c8d Update existing usages to point to RealmRulesetStore 2022-02-16 17:13:54 +09:00
Dan Balasescu
5dd9771c5f Remove mod multipliers from being applied to scores 2022-02-16 16:27:27 +09:00
Dean Herbert
7e24b36f26 Merge branch 'master' into remove-playlistitem-beatmap 2022-02-16 14:24:57 +09:00
Dean Herbert
6a08fd57ef Rename "client" fields in tests to specify whether spectator or multiplayer 2022-02-16 09:52:18 +09:00
Dean Herbert
187870b794 Merge branch 'master' into fix-multi-cache-dependencies 2022-02-16 09:44:37 +09:00
Salman Ahmed
0992bec2c8 Change "distance spacing" multipler type to double
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.

Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true).
2022-02-16 03:28:12 +03:00
Salman Ahmed
7654584e40 Allow using SizeSlider on different value types 2022-02-16 03:25:03 +03:00
Dean Herbert
954ae60b81
Merge branch 'master' into copy-existing-difficulty 2022-02-16 08:55:12 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6 2022-02-16 00:40:04 +09:00
Dan Balasescu
f5b34e0313 Fix some test failures due to now-async lookups 2022-02-16 00:01:22 +09:00
Dan Balasescu
bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu
94a974e1c9 Make OnlinePlayBeatmapAvailabilityTracker look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
ccd265ebe7 Handle beatmap lookup requests in TestRoomRequestsHandler 2022-02-15 23:41:50 +09:00
Dan Balasescu
539cbe62c6 Fix incorrect usages of user lookup cache in tests 2022-02-15 21:23:24 +09:00
Dan Balasescu
c48a0dc993 Move UserLookupCache to online play test dependencies 2022-02-15 20:56:46 +09:00
Dean Herbert
a8f09a8676
Merge branch 'master' into remove-playlistitem-ruleset-mods 2022-02-15 17:40:39 +09:00
Dan Balasescu
03106e846c Fix test failures due to async mod icon loads 2022-02-15 17:15:00 +09:00
Dean Herbert
d79845fb1d Revert NUnit3TestAdaptor (again)
Console output is still broken. See
https://github.com/ppy/osu/runs/5196023462?check_suite_focus=true.
2022-02-15 17:06:34 +09:00
Dean Herbert
b1cf014dc2 Add test coverage of EF to Realm migration process 2022-02-15 17:00:17 +09:00
Dean Herbert
f03de16ee5 Add a test EF database
Created on d8a23aad4 (just before skins were migrated to realm).

This contains:
- 2 beatmap sets (intro and disco prince)
- 1 score (set on disco prince using autopilot/DT)
- 1 skin (haxwell)

- 322 named files (from skin)
- 5 named files (from beatmaps)

- 270 total file infos
2022-02-15 16:56:00 +09:00
Dan Balasescu
5b765581d8 Fix free mod selection not showing allowed mods 2022-02-15 16:28:15 +09:00
Dan Balasescu
efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +09:00
Dean Herbert
60153bb69d Update nuget packages to highest usable versions
EF packages are intentionally pinned to 5.0.14 as higher versions no
longer support `netstandard2.1`, which we require for xamarin projects.
2022-02-15 15:19:23 +09:00
Salman Ahmed
cbc8f7ff90 Remove test coverage of "shift" hotkey behaviour 2022-02-15 02:29:09 +03:00
Salman Ahmed
500322ff21 Update failing snap test scenes 2022-02-15 02:21:53 +03:00
Salman Ahmed
9504942cfd Add test case for distance spacing hotkeys scrolling behaviour 2022-02-15 02:21:53 +03:00
Salman Ahmed
528dc03b8c Expose distance spacing in IPositionSnapProvider for updating distance grid
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Bartłomiej Dach
1685e214d3
Adjust test coverage to cover desired copy naming scheme 2022-02-14 19:59:54 +01:00
Dean Herbert
db74a226c0 Fix test regression due to mouse overlapping settings overlay 2022-02-15 02:54:45 +09:00
Dean Herbert
02f58a82fc Use WaitSafely() in tests where it was not already being used 2022-02-15 02:35:08 +09:00
Dean Herbert
5b30921cbf Merge branch 'master' into net6 2022-02-14 22:06:35 +09:00
Dean Herbert
b9d9fc56af Move files to UI namespace 2022-02-14 17:51:39 +09:00
Dean Herbert
80ba06b0e3
Merge branch 'master' into expandable-controls 2022-02-14 16:57:45 +09:00
Bartłomiej Dach
13abc392bd
Add failing test coverage for not copying online properties 2022-02-13 18:54:52 +01:00
Bartłomiej Dach
90c48de9f8
Add failing test coverage for save of copied beatmap keeping old beatmap file 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
1292722a00
Add failing test coverage for correct combo colour copy 2022-02-13 14:01:22 +01:00
Bartłomiej Dach
fd1c8c3614
Add failing test coverage for correct beatmap difficulty copy 2022-02-13 14:01:21 +01:00
Bartłomiej Dach
eb939547a9
Add test coverage for difficulty copy flow 2022-02-13 14:01:21 +01:00
Bartłomiej Dach
0d1171b7fa
Adjust existing test coverage to pass 2022-02-13 14:01:20 +01:00
Dean Herbert
6005daeba8 Fix fire-and-forget async calls to use WaitSafely 2022-02-11 16:02:42 +09:00
Dean Herbert
f012f64fd1 Add test coverage checking carousel panel visual state after ruleset filter change 2022-02-11 15:21:01 +09:00
Dean Herbert
eda213e4de
Merge pull request #16827 from smoogipoo/spectator-state-rework
Add user state to SpectatorState, allowing multiplayer to continue to results
2022-02-11 01:48:47 +09:00
Dean Herbert
19cb8cb03a Update tests 2022-02-10 19:35:28 +09:00
Dean Herbert
176bb4a4e2 Update desktop projects to target .NET 6 2022-02-10 17:42:09 +09:00
Dan Balasescu
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
Dan Balasescu
4966c4e974 Remove redundant parameter 2022-02-09 11:51:47 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Dan Balasescu
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
Dan Balasescu
0d99017178 Add state tests 2022-02-08 20:27:08 +09:00
Dan Balasescu
45b3f472ab Merge branch 'master' into spectator-state-rework 2022-02-08 19:51:50 +09:00
Dan Balasescu
9c2d57d707 Add failing test 2022-02-08 19:36:16 +09:00
Henry Lin
b31c1513f6 Fix test failure
The cursor was clicking too far to the right.
2022-02-05 22:41:04 +08:00
Dean Herbert
ee0ff5c33f
Merge pull request #16774 from smoogipoo/fix-broken-test-scene
Fix test scene broken without being logged in
2022-02-04 23:55:51 +09:00
Dan Balasescu
09728a29ed Merge branch 'fix-broken-test-scene' into spectator-state-rework 2022-02-04 22:42:10 +09:00
Dean Herbert
98f61415c2
Merge branch 'master' into mvp-safe-area-support 2022-02-04 20:05:35 +09:00
Dean Herbert
002cc7261b
Merge pull request #16773 from smoogipoo/fix-spectator-restart-crash
Fix crash when gameplay is started while inside multiplayer spectator screen
2022-02-04 19:23:08 +09:00
Dan Balasescu
fa3d1115fa Remove online api requirement 2022-02-04 19:17:50 +09:00
Dan Balasescu
dd63b1a350 Fix broken spectator playback test scene 2022-02-04 19:12:02 +09:00
Dean Herbert
6457cf8d9b Fix weird formatting in TestSceneSafeArea 2022-02-04 18:45:40 +09:00
Dan Balasescu
d5269ba05b Merge branch 'fix-spectator-restart-crash' into spectator-state-rework 2022-02-04 17:59:18 +09:00
Dan Balasescu
b41655d5b9 Fix crash when gameplay starts while in multi-spectator screen 2022-02-04 17:47:41 +09:00
Dean Herbert
1444df4d50 Add test scene for playing with safe areas 2022-02-04 16:39:10 +09:00
Dan Balasescu
63064d682b
Merge pull request #16743 from hlysine/extended-statistics-without-replay
Allow statistic items in results screen to display without needing to watch a replay
2022-02-04 15:07:52 +09:00
Salman Ahmed
bbef12e72c Refactor ExpandingControlContainer to no longer rely on controls 2022-02-04 05:45:12 +03:00
Bartłomiej Dach
b7d7e6612e
Merge branch 'master' into new-difficulty-creation-v3 2022-02-03 16:36:18 +01:00
Dan Balasescu
d4ebff6ea1 Add failing test 2022-02-03 23:18:22 +09:00
Dan Balasescu
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
Dean Herbert
b2efce2656
Merge branch 'master' into expandable-controls 2022-02-03 19:23:34 +09:00
Dean Herbert
df9d99f5aa Merge branch 'master' into extended-statistics-without-replay 2022-02-03 18:59:48 +09:00
Henry Lin
a27d0572ed Add test cases for manual testing 2022-02-03 17:00:40 +08:00
Dean Herbert
41aa4b8cca Fix TestSelectingFilteredRuleset failing under visual tests due to using local database 2022-02-03 16:04:05 +09:00
Dean Herbert
6355ac6663 Wait for DialogOverlay load in more tests
Apparently the previous fix was not enough as this can still be seen
failing
(https://github.com/ppy/osu/runs/5046718623?check_suite_focus=true).

This change is copying from what other tests use seemingly reliably,
such as `TestScenePerformFromScreen`)
2022-02-03 15:10:08 +09:00
Bartłomiej Dach
afc48d86df
Add failing test coverage for save after safeties addition 2022-02-02 21:57:10 +01:00
Bartłomiej Dach
87e2e83288
Add test coverage for difficulty name clash cases 2022-02-02 21:55:34 +01:00
Bartłomiej Dach
0d51c015ad
Add basic test coverage for new difficulty creation 2022-02-02 21:55:34 +01:00
Dan Balasescu
fcbba3d948 Rename PlayingUserStates -> WatchingUserStates 2022-02-02 23:11:29 +09:00
Dan Balasescu
589f5e7a31 Update test which has now been resolved 2022-02-02 23:09:38 +09:00
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
Dan Balasescu
b5fb3b7dae Fix crash when selecting swap mod as freemod 2022-02-02 18:42:22 +09:00
Dean Herbert
6d962e7925
Merge pull request #16726 from dekrain/leaderboard-score-tooltip
Add basic tooltip for leaderboard scores
2022-02-02 13:56:45 +09:00
Dean Herbert
35b7653290 Revert mod flow changes and add visual test coverage showing an overflow case 2022-02-02 09:13:19 +09:00
Bartłomiej Dach
3674ed15ce
Remove unused game host parameter
No longer used since eeccf836ec.
2022-02-01 21:53:21 +01:00
Bartłomiej Dach
b978010b48
Remove unused allowMissing parameter in audio file check test
No longer used since 7f95400f46.
2022-02-01 21:53:21 +01:00
Bartłomiej Dach
7cdf63c654
Remove unused FindProvider() methods
No longer needed since 39f99bf785.
2022-02-01 21:53:21 +01:00
Bartłomiej Dach
75101b1105
Remove unused ruleset ctor params from test beatmap model managers
No longer used since 00e3af3366.
2022-02-01 21:49:41 +01:00
Dan Balasescu
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
Dean Herbert
15479ae046 Add test coverage of no header doing nothing 2022-02-01 16:55:28 +09:00
Dean Herbert
3ca2c90684 Add test scores in BeatmapLeaderboard test scene with more mods 2022-02-01 16:35:25 +09:00
Dan Balasescu
781cb9f18d Move HasPassed/HasFailed into GameplayState 2022-02-01 14:46:24 +09:00
Dan Balasescu
502e6af008 Remove PlayingUsers list from SpectatorClient 2022-02-01 14:42:30 +09:00
Dan Balasescu
0641264a11 Merge branch 'master' into spectator-consistency-frames 2022-02-01 14:35:30 +09:00
Dan Balasescu
4fb565e15f Reset ScoreProcessor from statistics replay frames 2022-01-31 21:32:56 +09:00
Dan Balasescu
0458d408bb Add replay statistics frames to FramedReplayInputHandler 2022-01-31 18:53:47 +09:00
Dan Balasescu
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
Dan Balasescu
f3d4756c7f
Merge pull request #16713 from frenzibyte/fix-spectator-gcc-state-2
Fix multiplayer spectator occasionally rewinding time unexpectedly
2022-01-31 18:33:08 +09:00
Dan Balasescu
62603e78fd
Merge pull request #16714 from frenzibyte/rewrite-hardware-correction-clock
Rewrite `HardwareCorrectionOffsetClock` to handle seeking on different gameplay rates
2022-01-31 17:32:22 +09:00
Dean Herbert
575d9671bf
Merge pull request #16717 from peppy/fix-dialog-overlay-missing-test-failures
Fix test failures if `DialogOverlay` is not loaded in time
2022-01-31 17:06:24 +09:00
Dean Herbert
25cbe5a0de Remove acronym shortening of GameplayClockContainer 2022-01-31 15:23:31 +09:00
Dean Herbert
9001c3a396 Fix test failures if DialogOverlay is not loaded in time
As seen at https://github.com/ppy/osu/runs/4999391205?check_suite_focus=true, where `DialogOverlay` hasn't loaded in single file yet.
2022-01-31 15:17:07 +09:00
Dean Herbert
c8c0ae5658
Merge branch 'master' into flush-frames-end-play 2022-01-31 15:12:41 +09:00
Dean Herbert
57f793aff0 Rename dictionary and make private for added safety 2022-01-31 15:12:08 +09:00
Dan Balasescu
e9f3e7f5cb
Merge pull request #16703 from peppy/leaderboard-component-fixes
Rewrite `Leaderboard` component to bring up to current code standards
2022-01-31 14:33:04 +09:00
Salman Ahmed
2b999f9780 Add failing test case 2022-01-31 01:40:07 +03:00
Dean Herbert
f8939af5e6 Track loading via state as well 2022-01-31 01:12:03 +09:00
Dean Herbert
6a21d58325 Avoid test failures on non-triangle intro tests 2022-01-30 18:59:18 +09:00
Dean Herbert
1dbcb5ab63 Add test coverage of intro fail scenario 2022-01-30 18:51:16 +09:00
Dean Herbert
04dbb5d3c6 Disallow setting "NoScores" externally as it is handled internally 2022-01-30 16:18:19 +09:00
Dean Herbert
acc1199add Consolidate flows of Set operations, either result or error 2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8 Also refactor placeholder logic to make more sense 2022-01-30 10:50:32 +09:00
Salman Ahmed
4f4f60248f Add failing test case 2022-01-30 01:46:10 +03:00
Dean Herbert
06660ff960 Fix null beatmap in test scene 2022-01-30 03:02:56 +09:00
Dean Herbert
d21464ea61 Fix assertions to work in both directions 2022-01-30 02:54:51 +09:00
Dean Herbert
51acf79935 Change test exposure to property instead of method 2022-01-30 02:29:51 +09:00
Dean Herbert
9861c50b33 Remove pointless tests that no longer show anything valid 2022-01-30 00:03:22 +09:00
Dean Herbert
a915b9cd30 Fix occasional failures in TestSceneDeleteLocalScore 2022-01-29 23:58:57 +09:00
Dean Herbert
661fec7c8a Make score setter private 2022-01-29 23:58:57 +09:00
Dean Herbert
aee93934d5 Rename methods to make more sense (and always run through AddOnce) 2022-01-29 23:58:57 +09:00
Dean Herbert
4c97ed676f Fix score presentation tests not correctly entering song select before running 2022-01-29 14:46:24 +09:00
Bartłomiej Dach
1253e1ecc1
Replace LINQ Count() invocation with count property access 2022-01-28 20:25:12 +01:00
Dan Balasescu
3037a3a769 Purge final spectator frames before ending play 2022-01-28 22:26:05 +09:00
Dan Balasescu
bda3cdc9a7 Add tests 2022-01-28 19:29:30 +09:00
Dan Balasescu
f021a274d2
Merge pull request #16681 from peppy/fix-delete-local-scores
Fix delete local scores via "Clear all scores" button crashing the game
2022-01-28 17:01:31 +09:00
Dan Balasescu
b94984bd2d
Merge pull request #16678 from peppy/hold-for-menu-always-fade
Ensure hold for menu button fades out if the cursor is never moved
2022-01-28 15:55:41 +09:00
Dean Herbert
2453bf5ed0 Add test coverage of the same thing but via "clear all scores" button 2022-01-28 15:54:53 +09:00
Dean Herbert
778eebc94d Add test coverage of local score import and deletion 2022-01-28 15:50:36 +09:00
Dan Balasescu
32f9299fe0
Remove unused using 2022-01-28 15:26:29 +09:00
Dean Herbert
28c8e07e3f Ensure hold for menu button fades out if the cursor is never moved
Closes https://github.com/ppy/osu/discussions/16669.
2022-01-28 14:48:35 +09:00
Dean Herbert
f32d56e213 Bring HoldForMenuButton tests up-to-date in code quality 2022-01-28 14:48:17 +09:00
Bartłomiej Dach
7dc3940dee
Add test coverage for preserving legacy beatmap info defaults 2022-01-27 21:49:26 +01:00
Bartłomiej Dach
04d6ca59a3
Merge branch 'master' into song-select-scroll-position-during-delete 2022-01-27 20:46:19 +01:00
Dean Herbert
e872877185
Merge pull request #16648 from peppy/fix-song-select-tests
Fix song select tests not waiting for beatmap imports to arrive
2022-01-27 23:00:58 +09:00
Dean Herbert
fae4f8bd8e Move nulling of previous songSelect to SetUpSteps instead 2022-01-27 21:59:44 +09:00
Dean Herbert
7af23328a4
Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
Dean Herbert
831fa44433 Fix song select tests not waiting for beatmap imports to arrive
After the change to realm, notification fires could take a frame or two.
We aren't accounting for this.

Fixes test failures like
https://github.com/ppy/osu/runs/4963255990?check_suite_focus=true
2022-01-27 19:35:42 +09:00
Dean Herbert
a5d422e82c Merge branch 'master' into ruleset-id-fixes 2022-01-27 17:07:18 +09:00
Dean Herbert
29a4ec949f
Merge pull request #16637 from bdach/editor-changes-not-resetting
Fix changes to beatmap info made in editor persisting after exit without save
2022-01-27 17:02:42 +09:00
Dean Herbert
f2cecad83b Add failing test coverage showing carousel deletions don't keep scroll position 2022-01-27 16:52:02 +09:00
Dean Herbert
5637fd64d6 Perform ordering using IComparable instead 2022-01-27 15:59:20 +09:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Dean Herbert
714177cce1 Remove pointless constructor in RulesetInfo 2022-01-27 15:37:27 +09:00
Dean Herbert
f30d63107a Add SortID to RulesetInfo to allow stable ordering of rulesets for display 2022-01-27 15:35:16 +09:00
Bartłomiej Dach
e0616476e2
Fix test gameplay tests failing due to beatmap refetch on suspend 2022-01-26 21:15:49 +01:00
Bartłomiej Dach
4382adad82
Add test coverage for editor changes not resetting after exit without save 2022-01-26 21:15:49 +01:00
Dean Herbert
0c2ed2f9a7 Add failing test coverage of incorrect filter ruleset matching 2022-01-27 01:25:57 +09:00
Derrick Timmermans
6ec9c5c21a
Use default custom ruleset ID 2022-01-26 16:23:00 +01:00
Derrick Timmermans
e712fab299
Add test for custom ruleset conversion filtering 2022-01-26 16:14:07 +01:00
Dan Balasescu
cf9ee43b17
Merge pull request #16608 from peppy/playlist-overlay-optimisations
Optimise `PlaylistOverlay` and reduce startup overhead of `MusicController`
2022-01-26 20:28:33 +09:00
Dan Balasescu
94d3e2c90c
Merge branch 'master' into fix-out-of-order-events-on-block-fail 2022-01-26 19:08:55 +09:00
Dean Herbert
abe2cccaae Fix completely invalid method of testing realm migration 2022-01-26 19:03:26 +09:00
Dan Balasescu
cdca1285ab
Merge branch 'master' into playlist-overlay-optimisations 2022-01-26 19:01:33 +09:00
Dan Balasescu
4a51bab9ac
Merge pull request #16622 from peppy/fix-results-score-switch-crash
Fix crash at results screen when viewing another score panel after playing
2022-01-26 16:59:39 +09:00
Salman Ahmed
a34b8fc4d0 Merge branch 'master' into expandable-controls 2022-01-26 10:36:22 +03:00
Salman Ahmed
eb83b7fe0a Update existing implementation with changes 2022-01-26 10:18:17 +03:00
Dean Herbert
68ee80c5de
Merge pull request #16623 from frenzibyte/refactor-editor-save-test
Refactor editor saving test scene for scalability
2022-01-26 15:40:39 +09:00
Dan Balasescu
701f00a4b1
Merge pull request #16609 from peppy/fix-realm-related-failures
Fix some realm-related test failures
2022-01-26 15:31:18 +09:00
Dean Herbert
91e0d1021f Merge branch 'master' into fix-out-of-order-events-on-block-fail 2022-01-26 15:21:10 +09:00
Dean Herbert
d0a2818847 Fix incorrect testing 2022-01-26 15:14:43 +09:00
Dean Herbert
9532454e2a Remove ILive remnants 2022-01-26 15:12:07 +09:00
Dean Herbert
ba46827ac0 Merge branch 'master' into playlist-overlay-optimisations 2022-01-26 15:11:14 +09:00
Dean Herbert
3491b77c8c Fix ScoreInfo.RealmUser not getting deep cloned correctly
I'm still not at all happy with the play-to-results flow (with multiple
clones), but this will have to do for now.
2022-01-26 14:27:48 +09:00
Salman Ahmed
064468faad Refactor editor saving test scene for scalability 2022-01-26 07:57:46 +03:00
Dean Herbert
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
Dean Herbert
dda513dd08 Change PlaylistOverlay to use ILive 2022-01-26 12:19:59 +09:00
Dean Herbert
bdf215c576
Merge branch 'master' into improve-timeline-zoom 2022-01-26 03:40:53 +09:00
Dean Herbert
5085eb6801 Ensure gameplay starts by dismissing any notifications in TestSceneChangeAndUseGameplayBindings 2022-01-26 03:39:01 +09:00
Salman Ahmed
ad18bc4983 Update timeline selection test scene with zoom changes 2022-01-25 18:57:39 +03:00
Dean Herbert
5b82eaf112
Merge branch 'master' into fix-beat-divisor-not-saving 2022-01-25 23:29:37 +09:00
Salman Ahmed
6c69df815a Update editor test scenes to set working beatmap properly 2022-01-25 15:56:27 +03:00
Salman Ahmed
4d8c5ebb0c
Merge branch 'master' into fix-beat-divisor-not-saving 2022-01-25 12:30:05 +03:00
Salman Ahmed
b2b6672095 Add failing test asserts 2022-01-25 11:56:38 +03:00
Dean Herbert
c0ed308016 Use more correct method of deletion in TestScenePlaySongSelect 2022-01-25 17:55:39 +09:00
Dean Herbert
90a7dd7711 In gameplay bindings test, ensure a selection is made before attempting to enter gameplay 2022-01-25 17:55:33 +09:00
Dean Herbert
ffd7877a1e Remove synchronization context hacks in realm tests 2022-01-25 17:41:22 +09:00
Dean Herbert
83b0e4572a Fix test failures 2022-01-25 16:51:21 +09:00
Dan Balasescu
d8270fe14f
Merge pull request #16604 from peppy/less-async-import
Remove `Task` from the inner-most `Import` method in `RealmArchiveModelImporter`
2022-01-25 16:47:07 +09:00
Dan Balasescu
1c6ad56821
Merge pull request #16595 from peppy/realm-block-timeout-assert-failure
Fix a failed `BlockAllOperations` leaving update realm in unretrieved state
2022-01-25 16:03:13 +09:00
Dean Herbert
778d2a71b4 Remove Task from the inner-most Import method in RealmArchiveModelImporter
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dean Herbert
ae0fea8e26 Fix compilation issues due to misnamed fild 2022-01-25 15:29:45 +09:00
Dan Balasescu
47a13c2eb0
Merge pull request #16603 from peppy/update-framework
Update framework
2022-01-25 15:15:49 +09:00
Dean Herbert
35e1c7de7d Merge branch 'master' into realm-block-timeout-assert-failure 2022-01-25 15:05:11 +09:00
Dean Herbert
bda77fb6b3
Merge branch 'master' into realm-block-timeout-assert-failure 2022-01-25 14:47:34 +09:00
Dean Herbert
56d7d81465 Fix broken test due to SynchronizationContext never running expected work 2022-01-25 14:47:21 +09:00
Dan Balasescu
bfa521bdd2
Merge pull request #16593 from peppy/realm-clean-up
Clean up realm naming
2022-01-25 14:33:53 +09:00
Dan Balasescu
b2114bd2f0
Merge pull request #16601 from peppy/fix-storage-migration-test-failures
Fix `TestMigration` failing due to changes in realm migration logic
2022-01-25 14:33:35 +09:00
Dean Herbert
86c844bd58 Update remaining usages of GetSuitableHost in template projects 2022-01-25 14:15:29 +09:00
Dean Herbert
8116806db3 Add test coverage of calling BlockAllOperations a second time after timeout 2022-01-25 14:00:58 +09:00
Dean Herbert
dd2caea694 Update GetSuitableHost usages in line with new HostOptions 2022-01-25 13:52:02 +09:00
Dean Herbert
bbcc149e2e During import if files are found to be missing, ensure they are restored
This is one step closer to sanity in terms of physical files. As per the
comment I have left in place, we really should be checking file sizes or
hashes, but to keep things simple and fast I've opted to just cover the
"missing file" scenario for now.

Ran into this when testing against a foreign `client.realm` by:
- Noticing a beatmap doesn't load
- Deleting said beatmap
- Downloading via beatmap overlay
- Beatmap is restored but still doesn't work

Note that I've kept the logic where this will undelete an existing
import rather than create one from fresh, as I think that is beneficial
to the user (ie. it will still keep any linked scores on restore).
2022-01-25 13:44:54 +09:00
Dean Herbert
d7342880f5 Update remaining cases of clashes with realm.Write and realm.RegisterForNotifications 2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5 Update remaining cases of clashing variable name in realm.Run(realm.. 2022-01-25 13:04:05 +09:00
Dean Herbert
3e5c9e8436 Fix cases of Access instead of Realm 2022-01-25 12:58:15 +09:00
Dean Herbert
2d34831b5f Fix TestMigration failing due to changes in realm migration logic
Fixes failures as seen at https://github.com/ppy/osu/runs/4927916031?check_suite_focus=true.
2022-01-25 12:54:40 +09:00
Dean Herbert
f30894840c Update terminology to realm "instance" rather than "context"
This matches the terminology used by realm themselves, which feels
better.
2022-01-24 20:38:38 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
9ff9611296 Merge branch 'master' into realm-stable-subscriptions 2022-01-24 18:25:47 +09:00
Dean Herbert
d7db6fa918
Merge branch 'master' into custom-meter 2022-01-24 15:46:44 +09:00
Dean Herbert
6581e8c2d3
Merge pull request #16549 from Susko3/LoginPanel-flag
Hide the login panel when clicking the country flag
2022-01-24 15:38:50 +09:00
Dean Herbert
40aa873190 Rename register methods to better explain their purpose 2022-01-24 14:37:36 +09:00
Bartłomiej Dach
e236f5d604
Add failing test coverage for correct beatmap filename generation on save 2022-01-23 20:28:19 +01:00
Dean Herbert
0709a2ac9b Add test coverage of realm subscription scenarios 2022-01-23 20:28:13 +09:00
Dean Herbert
db86394355 Fix TestResources returning a test BeatmapSetInfo that can't be laoded directly into realm 2022-01-23 20:28:04 +09:00
Salman Ahmed
1ea5a2e6a7 Fix incorrect assert step name 2022-01-23 10:11:12 +03:00
Salman Ahmed
6b35c0fe01 Add test scene for ExpandingControlContainer 2022-01-23 05:41:16 +03:00
Bartłomiej Dach
f39f2c93b5
Add control for arbitrary-numerator time signatures 2022-01-22 20:50:31 +01:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures enum with struct for storage of arbitrary meter 2022-01-22 20:50:31 +01:00
Dean Herbert
6a076a684e Merge branch 'realm-context-use-update-when-feasible' into realm-stable-subscriptions 2022-01-22 13:14:25 +09:00
Dean Herbert
c9db0181d0 Attempt to fix test failures on windows due to context being held open 2022-01-22 12:24:05 +09:00
Susko3
9b63f15e68 Add failing test 2022-01-21 13:58:30 +01:00
Dean Herbert
1f157d729d Update existing subscriptions to new style
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
114c9e8c1f Update all usages of CreateContext to use either Run or Write 2022-01-21 17:27:08 +09:00
Dean Herbert
70cc03fe43 Avoid constructor overhead for realm RealmKeyBinding parameterless constructor 2022-01-20 17:29:07 +09:00
Dan Balasescu
7509b31176
Merge pull request #16519 from peppy/fix-legacy-score-import-classic-mod
Fix legacy score imports not correctly getting classic mod assigned
2022-01-20 14:28:29 +09:00
Dan Balasescu
4f86a2cb61
Merge pull request #16525 from bdach/beatmap-listing-overflow-and-scrolling
Improve usability of expanded card content on beatmap listing
2022-01-20 14:14:44 +09:00
Bartłomiej Dach
4cad5890c6
Add test coverage for news sidebar showing wrong headers 2022-01-19 23:12:35 +01:00
Bartłomiej Dach
d925e44b40
Add test coverage for beatmap card expanded content clipping 2022-01-19 22:08:52 +01:00
Bartłomiej Dach
fea4400c03
Remove unused using directive 2022-01-19 18:49:37 +01:00
Dean Herbert
a002dacdce Add test coverage of various ScoreInfo mod set operations 2022-01-19 14:34:27 +09:00
Dean Herbert
bb6f40d16e Add test coverage of all mod storages containing classic mod post-import 2022-01-19 14:34:27 +09:00
Dan Balasescu
581873f944
Merge pull request #16497 from peppy/top-local-rank-optimisation
Rewrite `TopLocalRank` to use realm subscriptions
2022-01-19 14:22:12 +09:00
Dan Balasescu
3e5d29ed00
Merge pull request #16505 from peppy/remove-base-difficulty-usage
Remove all usage of `BaseDifficulty` (and access `Difficulty` instead)
2022-01-19 13:53:55 +09:00
Dean Herbert
201f2d7813 Add comprehensive test coverage for TopLocalRank 2022-01-19 13:48:00 +09:00
Dan Balasescu
2556f1cb87
Merge branch 'master' into optimise-set-detach-part-2 2022-01-19 13:20:38 +09:00
Dan Balasescu
f6f44029e8
Merge pull request #16507 from peppy/more-ingore-rules
Add some missing `IgnoredAttributes` to reduce automapper overhead
2022-01-19 12:26:37 +09:00
Bartłomiej Dach
7df18c7767
Merge branch 'master' into playlist-test-coverage 2022-01-18 20:17:48 +01:00
Dean Herbert
96d07e20ed Revert nunit test adaptor version bump until console output bug is resolved
Tests have started to output too much log content, causing viewing CI
failures to be painfully impossible. Roll back for now.

Fix may be related to
https://github.com/nunit/nunit3-vs-adapter/issues/941, although we don't
use filter.
2022-01-19 02:18:58 +09:00
Dean Herbert
1db2135d70 Update tests to match new behaviour 2022-01-19 01:05:47 +09:00
Dean Herbert
67bf95bc91 Remove all usage of AuthorString 2022-01-18 23:30:40 +09:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
Dean Herbert
02baad30d7 Merge branch 'master' into global-bindable-thread-safety 2022-01-18 18:12:00 +09:00
Dan Balasescu
73a1f27ce5
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-18 17:31:37 +09:00
Dean Herbert
3e9e7a8fb6 Fix PLaylistsResultsScreen tests falling over due to missing beatmap 2022-01-18 16:48:27 +09:00
Dean Herbert
8978b88f69 Add test coverage of startup ruleset being non-default 2022-01-18 16:22:15 +09:00
Dan Balasescu
b4fdd8a986
Merge pull request #16489 from peppy/aggregate-score-tests
Add test coverage of aggregate scores displaying correctly at multiplayer/playlists screens
2022-01-18 16:03:06 +09:00
Dean Herbert
7084183d6c Fix test beatmaps created without hash being populated 2022-01-18 15:43:02 +09:00
Dean Herbert
1b62a685f3 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-18 15:07:59 +09:00
Dean Herbert
d26f4d50bd Add test coverage of aggregate room scores displaying correctly 2022-01-18 14:00:12 +09:00
Dean Herbert
c3d3c03f0f Fix TestScenePlaylistsScreen crashing on entering room 2022-01-18 13:42:41 +09:00
Dean Herbert
da9a60a695 Update broken test scenes to match new OsuTestScene logic 2022-01-18 13:41:50 +09:00
Dean Herbert
125439d177 Update all (non-NET6) nuget packages 2022-01-18 11:09:26 +09:00
Dan Balasescu
e9c96908d5
Merge pull request #16481 from peppy/fix-scores-container-tests
Rewrite `TestSceneScoresContainer` to work again
2022-01-17 20:39:14 +09:00
Dean Herbert
0ba0b5f11a Fix test step not being until when it needs to be 2022-01-17 19:45:32 +09:00
Dan Balasescu
f6b9d36acf
Remove unused using 2022-01-17 17:06:04 +09:00
Dean Herbert
a80e461000 Add better test coverage of user top scores 2022-01-17 16:23:58 +09:00
Dean Herbert
12fd279b7d Add test to check full flow of rebinding gameplay key bindings
Addresses a regression found in realm PR that was not covered by tests.
2022-01-17 16:00:17 +09:00
Dean Herbert
6436b6186f Rewrite TestScenScoresContainer to work again 2022-01-17 15:15:39 +09:00
Dean Herbert
5dc7425b2c Fix incorrect realm (non-isolated instance) being used in two test scenes 2022-01-17 14:55:23 +09:00
Dean Herbert
90166829c3 Update tests which were importing scores without a valid beatmap 2022-01-17 14:47:19 +09:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Susko3
9af9155e66 Fix osu.Game.Tests.Android not building 2022-01-14 17:37:58 +01:00
Dean Herbert
8d4a3cc569 Remove pointless Metadata set 2022-01-14 23:27:33 +09:00
Dean Herbert
9900a3f408 Remove outdated comment 2022-01-14 21:40:35 +09:00
Dean Herbert
289ae7c72f Update one more mismatched test implementation 2022-01-14 21:39:42 +09:00
Dean Herbert
a59dcccab7 Add local ContextFactory caching to all remaining test scenes that create local managers 2022-01-14 19:59:21 +09:00
Dean Herbert
eb5f15a77e
Merge pull request #16420 from bdach/slider-paste-parsing-failures-2
Fix pasted sliders having sample points with time at infinity
2022-01-13 23:28:49 +09:00
Dean Herbert
4f8d29c1c0 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-13 18:25:09 +09:00
Dean Herbert
7147799895
Merge pull request #16273 from Joehuu/fix-remaining-identifier-names
Normalise more identifier names
2022-01-13 17:06:57 +09:00
Dean Herbert
e1f5acd689 Remove names from user dictionary 2022-01-13 12:40:19 +09:00
Joseph Madamba
b245ffefc1 Merge remote-tracking branch 'upstream/master' into fix-remaining-identifier-names 2022-01-12 15:05:07 -08:00
Dan Balasescu
672c1d36dc Fix intermitten screen navigation tests 2022-01-13 05:52:04 +09:00
Bartłomiej Dach
07fc772c24
Merge branch 'master' into slider-paste-parsing-failures-2 2022-01-12 19:06:36 +01:00
Dean Herbert
2212bea17f Fix test failures due to double BeginPlaying calls 2022-01-13 01:34:29 +09:00
Dean Herbert
b2d09b7b10 Fix further warnings 2022-01-12 23:42:12 +09:00
Dean Herbert
b5f670cc5b Add far too many fixes for ruleset non-nullable requirements 2022-01-12 23:24:11 +09:00
Dean Herbert
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Dean Herbert
38cc1ce098 Add missing ruleset in test scores 2022-01-12 18:51:30 +09:00
Dean Herbert
34aa1bf21d Sanitise and remove some usages of Detach which are no longer required 2022-01-12 17:49:11 +09:00
Dean Herbert
f24b2b1be3 Make copying detached changes to realm only exposed for BeatmapSet
Also fixes remaining issues with the copy process.
2022-01-12 17:49:11 +09:00
Dean Herbert
a307f7e90e Add test coverage of updating via copying changes from detached instance 2022-01-12 17:49:11 +09:00
Dean Herbert
c92aff8d2b Add test of cyclic beatmap/beatmapset references 2022-01-12 17:49:11 +09:00
Dean Herbert
509301d94f Update detach test to assert correct behaviour 2022-01-12 17:49:11 +09:00
Dean Herbert
e0c59f4b3c Localise EF context factory usage to migration only 2022-01-12 17:49:11 +09:00
Dean Herbert
bf4133021b Update migration test to use realm file as test 2022-01-12 17:49:11 +09:00
Dean Herbert
7dba3c3551 Fix most remaining test issues 2022-01-12 17:49:11 +09:00
Dean Herbert
b7ee6d1866 Add protections against test null refs when beatmap load fails 2022-01-12 17:49:11 +09:00
Dean Herbert
dc9ea4adeb Remove incorrect test assertion 2022-01-12 17:49:11 +09:00
Dean Herbert
dd19487eb8 Fix custom import process in TestSceneDrawableRoomPlaylist not working with realm 2022-01-12 17:49:11 +09:00
Dean Herbert
6613a7e4ae Fix another case of test ruleset without overriding ShortName primary key 2022-01-12 17:49:11 +09:00
Dean Herbert
cd88ccab4f Fix TestScenePlaySongSelect failure due to detach clone depth 2022-01-12 17:49:11 +09:00
Dean Herbert
9e2ca583a3 Fix incorrect realm factory isolation in TestScenePlaySongSelect 2022-01-12 17:49:11 +09:00
Dean Herbert
b5975eee33 This file should have been deleted in a previous commit (rebase failure) 2022-01-12 17:49:11 +09:00
Dean Herbert
ca7e11057c Use better method to ensure online availability tracker is in a clean state 2022-01-12 17:49:10 +09:00
Dean Herbert
ac3b7aa893 Fix more incorrect test access to ILive 2022-01-12 17:49:10 +09:00
Dean Herbert
8e79898e26 Fix a couple of minor issues with TestSceneBeatmapRecommendations 2022-01-12 17:49:10 +09:00
Dean Herbert
5cbd731864 Add RulesetInfo hashcode implementation and tidy up equality 2022-01-12 17:49:10 +09:00
Dean Herbert
605898ec53 Add missing "non-null" elements missing from some tests 2022-01-12 17:49:10 +09:00
Dean Herbert
4b690703b3 Remove unnecessary DI dependencies from cache test 2022-01-12 17:49:10 +09:00
Dean Herbert
41d90cd0b5 Fix beatmap carousel test failures 2022-01-12 17:49:10 +09:00
Dean Herbert
8ecfb9172e Fix multiple tests with incorrect access to beatmap imports 2022-01-12 17:49:10 +09:00
Dean Herbert
af5d3af664 Remove test coverage of scores being deleted when beatmaps are
This is not supported in realm for now. Probably best suited to a
separate pass, similar to files, using backlink count.
2022-01-12 17:49:10 +09:00
Dean Herbert
43c7b0d2c8 Fix unsupported realm operations in multiple tests 2022-01-12 17:49:10 +09:00
Dean Herbert
33b5fa3473 Detach score during import tests to ensure original object doesn't get managed 2022-01-12 17:00:17 +09:00
Dean Herbert
463a185605 Fix many instances of User being null in score import tests 2022-01-12 17:00:17 +09:00
Dean Herbert
d19a9a0ba3 Remove assertion of ScoreInfo.Combo being database persisted 2022-01-12 17:00:17 +09:00
Dean Herbert
fa7dddcf3c Fix TestScenePresentScore sharing metadata/difficulty across multiple beatmaps 2022-01-12 17:00:17 +09:00
Dean Herbert
6251713796 Add missing Ruleset in ReplayRecorder tests 2022-01-12 17:00:17 +09:00
Dean Herbert
7e7784b78a Fix incorrect access to ILive in BeatmapSkinResources tests 2022-01-12 17:00:17 +09:00
Dean Herbert
f2f1adb792 Update FilterMatchingTest and filter code to use ruleset's OnlineID 2022-01-12 17:00:17 +09:00
Dean Herbert
ba4ef0926f Remove incorrect test fixture specification 2022-01-12 17:00:17 +09:00
Dean Herbert
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
52ca649159 Fix results screen test failures due to relation query 2022-01-12 17:00:17 +09:00
Dean Herbert
8461eaab46 BeatmapSetInfo detach support 2022-01-12 17:00:16 +09:00
Dean Herbert
de076678fe Fix some remaining test failures 2022-01-12 17:00:16 +09:00
Dean Herbert
3811bd8520 Fix some null inspections 2022-01-12 17:00:16 +09:00
Dean Herbert
1f9318265e Update ToLive usages in line with recent changes 2022-01-12 17:00:16 +09:00
Dean Herbert
31a3161189 Make tests compile again 2022-01-12 17:00:16 +09:00
Dean Herbert
3152d2d8a0 "Update" BeatmapCarousel 2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
Dean Herbert
4f6a05ce3d Reimplement all query methods 2022-01-12 16:57:27 +09:00
Dean Herbert
53792811b2 more fixes (almost compiles, except ruleset and manager) 2022-01-12 16:57:27 +09:00
Dean Herbert
aac2aa341c Update some more incorrect types for primary key access/set 2022-01-12 16:57:27 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
116f35c52a Remove EF FileStore 2022-01-12 16:39:36 +09:00
Dean Herbert
3ecd889fef Replace EF RulesetStore with realm version
Pass full EF context factory to `RealmContextFactory` for migration purposes
2022-01-12 16:39:36 +09:00
Dean Herbert
89d6ffa7f3 Use RealmContextFactory instead of EF 2022-01-12 16:39:36 +09:00
Dean Herbert
e6fdd0e969 Miscellaneous fixes that don't fit elsewhere 2022-01-12 16:39:36 +09:00
Dean Herbert
2cb97dd599 Remove unnecessary assigns of EF foreign ID fields in tests 2022-01-12 16:39:36 +09:00
Dean Herbert
6a671b0a52 Remove unnecessary assigns of BeatmapSetInfo.Metadata 2022-01-12 16:39:36 +09:00
Dean Herbert
fda529de26 Update usages of APIUser to RealmUser 2022-01-12 16:39:36 +09:00
Dean Herbert
213d89b479 Update null fallback cases involving OnlineID 2022-01-12 16:39:36 +09:00
Dean Herbert
37673f4cf8 Update sets of BeatmapSet.Metadata to instead create a Beatmap 2022-01-12 16:39:36 +09:00
Dean Herbert
e6f6558ddf Update mock model usage to set GUIDs instead of ints 2022-01-12 16:39:36 +09:00
Dean Herbert
4f66e8f881 Fix issues with editor check tests 2022-01-12 16:39:36 +09:00
Dean Herbert
618903c217 Rename realm to become imposter classes 2022-01-12 16:39:36 +09:00
Dean Herbert
c383f26729 Remove EF specific tests that have since been replaced 2022-01-12 16:39:36 +09:00
Bartłomiej Dach
970e0cc85a
Merge branch 'master' into beatmap-background-with-storyboard-stopping 2022-01-11 21:39:49 +01:00
Bartłomiej Dach
e91d3dd8b4
Add failing test for incorrect sample control point time after paste 2022-01-11 21:34:22 +01:00
Dan Balasescu
60e42bf45e Add lenience to fix test failures 2022-01-11 23:01:17 +09:00
Dan Balasescu
ef66ec4622 Also fix MessageFormatter tests 2022-01-11 17:55:43 +09:00
Dan Balasescu
3cb5f43f77 Fix incorrect action returned for wiki links in DEBUG mode 2022-01-11 17:46:49 +09:00
Dan Balasescu
269df08fc9 Make ChatLink tests into proper unit test methods 2022-01-11 17:42:02 +09:00
Dan Balasescu
af9fad00c3 Merge branch 'master' into async-deadlock-safety 2022-01-10 16:11:09 +09:00
Dan Balasescu
928023fabb
Merge pull request #16362 from bdach/multiplayer-wrong-ruleset
Fix multiplayer starting gameplay using last picked item ruleset rather than actual current item ruleset
2022-01-10 15:10:27 +09:00
Dan Balasescu
c2843249e8
Merge pull request #16359 from peppy/fix-legacy-score-decoer-test
Fix `LegacyScoreDecoderTest` incorrectly comparing unset beatmap IDs
2022-01-10 13:10:58 +09:00
Dean Herbert
02d8a6359a Update FilterMatchingTest and filter code to use ruleset's OnlineID
The tests were relying on the `RulesetID` being set to 0 in the example
beatmap, even though the ruleset *instance* was set to ID 5.

This explicitly adds that 0 value to show intent, and also removes the
incorrect specification of 5 (which would cause the convert filter tests
to fail).

Also updates the filter code to use `OnlineID`, which is required in
realm changes.
2022-01-10 12:30:34 +09:00
Dean Herbert
3d14511286 Remove MD5 comparison also 2022-01-10 12:17:32 +09:00
Bartłomiej Dach
82d6639a3b
Decouple rankings table test from online API 2022-01-09 14:42:19 +01:00
Bartłomiej Dach
446962446e
Add test coverage for correct revert of mods when play starts at song select 2022-01-08 14:50:58 +01:00
Bartłomiej Dach
3dd5705a81
Add test coverage for correct revert of mods after new item is queued 2022-01-08 14:50:58 +01:00
Bartłomiej Dach
50077f05bd
Add test coverage for correct revert of ruleset when play starts at song select 2022-01-08 14:50:57 +01:00
Bartłomiej Dach
f026973b19
Add failing test for ruleset incorrectly applying from latest picked item 2022-01-08 14:50:54 +01:00
Dean Herbert
f6f24220c2 Fix LegacyScoreDecoderTest incorrectly comparing unset beatmap IDs
This has been wrong from the outside, but hidden by the fact that the
default values are equal. I've changed to MD5Hash which actually asserts
that the correct beatmap has likely arrived.

Found this in my realm changes, where it fails due to the beatmap ID
being a differing Guid in each case.
2022-01-08 15:28:13 +09:00
Bartłomiej Dach
881fa2b86b
Add basic test scene for scoreboard time 2022-01-07 19:18:16 +01:00
Dean Herbert
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Bartłomiej Dach
66613cbaa4
Wait for async continuation in score submission test
The previous assert step was optimistically assuming that the async
continuation that writes the value of
`FakeImportingPlayer.ImportedScore` always completes before it, but
that's not necessarily true even if the continuation is instant (it is
still subject to things like task scheduling and TPL thread pool
limits).

To ensure no spurious failures, swap out the assert step for an until
step instead.
2022-01-06 13:09:25 +01:00
Bartłomiej Dach
84765b99b3
Handle score submission request in submission test scene
Was previously not handled at all, therefore displaying request failures
in the test log output. While that was mostly a red herring and
shouldn't have caused any actual *test* failures, it is still better to
handle this explicitly in a realistic manner.
2022-01-06 12:57:26 +01:00
Dean Herbert
5ed69338a6 Add omission of pages when there are too many 2022-01-04 19:05:14 +09:00
Dean Herbert
86f72b71b1 Prepare tests and general structure to support omission of pages 2022-01-04 18:46:44 +09:00
Dean Herbert
5a11ee7810 Use OverlayColourProvider and fix font weight 2022-01-04 18:14:42 +09:00
Dean Herbert
d10b8c79b3 Remove pointless test coverage of DrawablePage 2022-01-04 17:53:24 +09:00
Dean Herbert
ee4f5c0e79 Rename button classes to make more sense 2022-01-04 17:52:40 +09:00
Dean Herbert
1c899e4402 Fix post-merge issues 2022-01-04 16:46:42 +09:00
Dean Herbert
69e7ee0f48
Merge branch 'master' into page-selector 2022-01-04 16:44:22 +09:00
Dean Herbert
f3e889d0f6 Fix incorrect nested result retrieval in ImportBeatmapTest 2022-01-04 11:51:41 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Dean Herbert
031a40af6a Replace usages of Wait with WaitSafely 2022-01-04 11:51:41 +09:00
Dean Herbert
f6b1405fa0
Merge branch 'master' into fix-listing-terminal-breakage 2022-01-04 11:49:02 +09:00
Bartłomiej Dach
7cdba2f7c3
Add test coverage of score submission if player is exited during import 2022-01-03 22:00:47 +01:00
Bartłomiej Dach
2660f41339
Add failing test case for old cards not expiring correctly 2022-01-03 19:28:14 +01:00
Dean Herbert
04d8fd3a58 Improve reliability of TestStoryboardSkipOutro
Aims to resolve failures as seen at
https://github.com/peppy/osu/runs/4677353822?check_suite_focus=true.

Have run quite a lot locally with no failures (while removing the skip step 100% fails).
2022-01-01 15:32:39 +09:00
Dean Herbert
f53a675ca3 Fix TestSceneMultiSpectatorLeaderboard not waiting for user population 2021-12-31 00:48:31 +09:00
Joseph Madamba
c22a07d9fc Bump identifier typo inspection and fix remaining identifier names 2021-12-28 11:26:42 -08:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
Bartłomiej Dach
ef763e9bd7
Add failing test for storyboard not tracking current track 2021-12-27 12:28:49 +01:00
Bartłomiej Dach
34b0101ff4
Add visual test coverage of "hidden by ruleset" combo option 2021-12-26 16:49:18 +01:00
Bartłomiej Dach
2b4c2f7ff3
Add failing test for storyboard sample playback with beatmap hitsounds off 2021-12-26 14:25:05 +01:00
Dean Herbert
8ad53138a6
Merge pull request #16234 from smoogipoo/fix-initial-button-colour
Fix OsuAnimatedButton animating when initially disabled
2021-12-25 15:34:40 +09:00
Dean Herbert
ac1a452e20
Merge pull request #16239 from peppy/sanitise-test-directory-usage
Fix some more test directory usage weirdness
2021-12-25 12:09:18 +09:00
Dean Herbert
1c0dc204c4 Fix some regressing behaviour due to CleanRunHeadlessGameHost's naming structure changing 2021-12-24 20:24:37 +09:00
Dean Herbert
4b88e257e5 Update usages of CleanRunHeadlessGameHost to match new signature 2021-12-24 20:17:34 +09:00
Dean Herbert
2ee3e61983
Merge branch 'master' into beatmap-card/extra-on-listing 2021-12-24 19:02:51 +09:00
Dan Balasescu
c973739b08 Fix OsuButton event binding + inital-enablement colour 2021-12-24 11:56:12 +09:00
Dan Balasescu
03d159d723 Refactor OsuAnimatedButton test scene 2021-12-24 11:56:12 +09:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI 2021-12-23 19:02:10 +01:00
Bartłomiej Dach
27c5cc5bd8
Add testing for beatmap card size switching 2021-12-23 15:55:51 +01:00
Bartłomiej Dach
1876617d8e
Implement beatmap card size tab control 2021-12-23 15:55:36 +01:00
Bartłomiej Dach
1040590844
Add cancellation support to game-side IResourceStores 2021-12-23 10:33:17 +01:00
Dean Herbert
d31c9db08b Adjust testing methodology to improve reliability of mosue wheel volume adjust tests
There was previously a potential in headless runs for timing
discrepancies to cause the volume to never get adjusted.

As seen at https://github.com/peppy/osu/runs/4604610951?check_suite_focus=true.
2021-12-23 13:25:24 +09:00
Dan Balasescu
e1b539fa9e
Merge pull request #16213 from peppy/working-beatmap-live
Tidy up `WorkingBeatmap`
2021-12-23 13:02:37 +09:00
Bartłomiej Dach
02fa1c21b7
Adjust existing placeholder test to demonstrate failure case 2021-12-22 15:03:20 +01:00
Dean Herbert
f3f491374b Remove unused load checks 2021-12-22 18:17:00 +09:00
Dean Herbert
967419c9ac Remove BeatmapSetInfo and Metadata from interface
There were very few accesses to this, and after realm they should all be
done via the `BeatmapInfo`, so let's remove this.
2021-12-22 18:17:00 +09:00
Dean Herbert
ea7d2c06fc
Merge pull request #16206 from peppy/fix-collection-import-test-cleanup
Fix `ImportCollectionsTest.TestSaveAndReload` not cleaning up before run
2021-12-22 18:16:48 +09:00
Dean Herbert
a866572ca8 Add comment regarding host name choice 2021-12-22 15:44:47 +09:00
Dean Herbert
cfdfe81afb
Merge pull request #16205 from smoogipoo/fix-multiplayer-tests
Fix multiplayer test failures when checking for parted room
2021-12-22 13:42:05 +09:00
Dean Herbert
f81e32149b Fix ImportCollectionsTest.TestSaveAndReload not cleaning up before/after run 2021-12-22 13:38:20 +09:00
Dean Herbert
a88800c99a
Merge pull request #16198 from smoogipoo/fix-current-item-before-population
Fix delete button showing on current item before beatmap retrieval
2021-12-22 13:15:07 +09:00
Dan Balasescu
24c6f8fafa Fix multiplayer test failures when checking for parted room 2021-12-22 12:55:37 +09:00
Dan Balasescu
ee64ab6383 Fix delete button test failures
Can be tested by adding a Thread.Sleep() in
DrawableRoomPlaylistItem.load().
2021-12-22 09:55:19 +09:00
Bartłomiej Dach
e35a8cab65
Merge branch 'master' into fix-custom-directory-tests 2021-12-21 13:08:27 +01:00
Dean Herbert
df975fb29e
Merge pull request #16181 from dekrain/statics-reset-no-sb
Split session statics reset method to prevent unloading seasonal backgrounds
2021-12-21 18:52:04 +09:00
Dean Herbert
0bda7892f7
Merge pull request #16197 from bdach/beatmap-card/renames
Rename beatmap card-related classes
2021-12-21 18:51:34 +09:00
Dean Herbert
4a3a5054fd Ensure CustomDataDirectoryTest methods use a fresh directory to avoid IO errors
Resolves test failures like https://github.com/ppy/osu/runs/4592088736?check_suite_focus=true.
2021-12-21 18:42:39 +09:00
Dan Balasescu
e2f8c71081 Fix test 2021-12-21 18:38:31 +09:00
Dan Balasescu
4ba5a939db
Merge pull request #16178 from bdach/lounge-background-screen-correct
Fix lounge screen showing information sourced from wrong playlist item
2021-12-21 17:36:23 +09:00
Dan Balasescu
a53c67b2ea
Merge pull request #16194 from peppy/fix-results-screen-wait-test
Fix intermittent test failures on `TestSceneResultsScreen` due to long delay step
2021-12-21 16:56:49 +09:00
Bartłomiej Dach
b6a458a07e
Cover seasonal backgrounds not resetting on inactivity in test 2021-12-21 08:50:25 +01:00
Bartłomiej Dach
979624160f
Do not reset last hover sound playback time on inactivity 2021-12-21 08:47:41 +01:00
Bartłomiej Dach
88d4e95ad8
Rename BeatmapCard{ => Normal} 2021-12-21 08:26:21 +01:00
Bartłomiej Dach
bd1fb33ad6
Add and use separate extensions for historical and upcoming playlist items 2021-12-21 08:01:04 +01:00
Dean Herbert
2707b2fbda
Merge pull request #16012 from bdach/beatmap-card/extra
Implement "extra" beatmap card size
2021-12-21 15:40:33 +09:00
Dean Herbert
16fe0e4f89 Fix SessionStaticsTest never working
In headless operation, the test would complete before ever reaching an
idle state. And this test only ran headless..
2021-12-21 15:39:08 +09:00
Dean Herbert
981158ed88 Rename method and simplify SetDefault calling code 2021-12-21 15:34:32 +09:00
Dean Herbert
c0a8758839 Fix intermittent test failures on TestSceneResultsScreen due to long delay step
Using real time delays of 3 seconds doesn't play well with headless runs.
2021-12-21 15:15:05 +09:00
Dan Balasescu
a8cd96278d
Merge pull request #16189 from peppy/fix-beatmap-listing-overlay-test-failure
Fix intermittent failures on `TestSceneBeatmapListingOverlay`
2021-12-21 15:11:25 +09:00
Dean Herbert
0f8a6a3f64 Fix intermittent failures on TestSceneBeatmapListingOverlay
In the specific method, there was no wait step after the initial fetch
(unlike all of the rest), meaning the fetch may not have finished in
time for the follow-up steps.

As seen at
https://github.com/ppy/osu/runs/4588058438?check_suite_focus=true.
2021-12-21 14:12:06 +09:00
Dean Herbert
bb3f375958 Add note about local button clicking usage 2021-12-21 13:49:51 +09:00
Dean Herbert
aad55ef89e Remove unused method in TestSceneMultiplayerQueueList 2021-12-21 13:49:51 +09:00
Dean Herbert
9aff646ff4 Centralise all multiplayer button clicking test logic
This adds the "wait for enabled" check in a way that can be easily
reused, as it keeps getting missed in test implementations.

This particular commit hopefully fixes
https://github.com/ppy/osu/runs/4583845033?check_suite_focus=true.
2021-12-21 13:49:51 +09:00
Bartłomiej Dach
f1a03aced5
Merge branch 'master' into beatmap-card/extra 2021-12-20 15:49:00 +01:00
Bartłomiej Dach
0975f570ba
Return last playlist item if all expired 2021-12-20 13:49:05 +01:00
Bartłomiej Dach
a5a9922f81
Fix lounge screen content not matching current room playlist item 2021-12-20 13:32:42 +01:00
Bartłomiej Dach
a59583ee09
Add extension method for returning next playlist item 2021-12-20 13:18:02 +01:00
Bartłomiej Dach
0b7daf542f
Merge branch 'master' into fix-song-select-test-failure 2021-12-20 11:36:49 +01:00
Bartłomiej Dach
f492cf84d9
Ensure presence of at least 1 difficulty for each ruleset 2021-12-20 11:34:39 +01:00
Bartłomiej Dach
d8be455a43
Merge branch 'master' into fix-ready-button-test 2021-12-20 11:02:43 +01:00
Dean Herbert
ec0a6735eb Rename TestMultiplayerScreenStack to TestMultiplayerComponents 2021-12-20 18:24:59 +09:00
Dean Herbert
6907a9a3cc Name some screen stacks for better logging context 2021-12-20 18:24:14 +09:00
Dean Herbert
87051d5d61 Add better defined steps to TestLoseHostWhileReady ready button test
Not 100% sure this will solve the issue but it's worth a try. The button
state checks are using `Until` everywhere else so this brings the test
in line with the standards.

As seen
https://github.com/ppy/osu/runs/4579641456?check_suite_focus=true.
2021-12-20 17:47:06 +09:00
Dean Herbert
5c8e317a6e Chooser earlier items in song select tests to avoid potentially not having enough 2021-12-20 17:11:15 +09:00
Dean Herbert
af78a3e99d Fix weird loop logic 2021-12-20 17:09:08 +09:00
Dean Herbert
d79602a912 Add wait step to TestScenePlaylistResultScreen explicitly for screen load 2021-12-20 16:58:36 +09:00
Dean Herbert
2e47c4e25d
Merge pull request #16164 from smoogipoo/fix-intermittent-background-test
Fix intermittent background screen test failures
2021-12-20 14:00:53 +09:00
Dan Balasescu
9316abc278 Better fix for intermittent multiplayer tests 2021-12-20 13:10:13 +09:00