1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-26 04:32:55 +08:00
Commit Graph

8377 Commits

Author SHA1 Message Date
Dean Herbert
a40d140353
Merge pull request #17956 from frenzibyte/sections-container-pagination
Fix page up / down in `SectionsContainer` with fixed header skipping content
2022-04-24 15:36:35 +09:00
Salman Ahmed
70a93c0e7e Move DistanceSpacingMultiplier bindable to its own IDistanceSnapProvider interface 2022-04-24 08:33:00 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
Salman Ahmed
05736fb84c Add failing test case for navigation via PageUp/PageDown 2022-04-24 01:52:11 +03:00
Salman Ahmed
e8cf4466b0 Make sections container test scene more usable
Head busted the moment I opened this test scene.

Cleaned it up a bit to make it easier to test changes.
2022-04-24 01:52:10 +03:00
Salman Ahmed
60e76d62c1 Add failing test cases 2022-04-23 23:16:06 +03:00
Salman Ahmed
6ab188f8f9 Split skin editor scene library test to own file
Rather than stuffing more random cases to `TestSceneScreenNavigation`.
2022-04-23 23:15:45 +03:00
Salman Ahmed
daadc3fc21 Simplfiy and share notification dimsiss method across test scenes
Might as well inline, but I feel like it will require adding the same
comment across all usages, because just `State.Value = Hidden` in an
until step feels off, dunno.
2022-04-23 23:14:19 +03:00
Susko3
684d88ba75 Add full OsuGame tests
These tests ensure the expected behaviour is not broken in the future.
2022-04-23 19:01:55 +02:00
Susko3
cdfef08846 Add tests for shortcut keys 2022-04-23 18:44:50 +02:00
Dean Herbert
d97dc22e79 Add missing dependencies for behaviour screen test 2022-04-23 21:23:41 +09:00
Bartłomiej Dach
98b7b156c7
Merge branch 'master' into first-run-setup-sheared-overlay 2022-04-23 00:32:07 +02:00
Bartłomiej Dach
e246357b36
Merge branch 'master' into sheared-overlay-container-click-away 2022-04-22 22:26:35 +02:00
Salman Ahmed
5120faa830 Merge branch 'master' into mod-overlay/incompatibility-panels-clickable 2022-04-22 22:19:42 +03:00
Salman Ahmed
2961c383f6 Add failing test case 2022-04-22 20:33:37 +03:00
Dan Balasescu
b293d3923c Merge branch 'master' into multiplayer-force-start-2 2022-04-23 01:03:55 +09:00
Dean Herbert
1caee38768 Add first-run "behaviour" screen to allow users a choice of more familiar UX 2022-04-22 18:06:56 +09:00
Dan Balasescu
b1cf917b49
Merge pull request #17823 from peppy/settings-filter-fixes
Fix incorrect settings state if searching too quickly (during load process)
2022-04-22 16:38:41 +09:00
Dean Herbert
f735d381a7
Merge branch 'master' into mod-overlay/incompatibility-panels-clickable 2022-04-22 16:26:46 +09:00
Dean Herbert
14e17c8b7b Update TestIncompatibilityDisplay in line with new functionality 2022-04-22 16:22:18 +09:00
Dean Herbert
06594ca0c8 Refine assertion to ensure correct section is current, rather than any section 2022-04-22 15:30:12 +09:00
Dean Herbert
27c7864562
Merge pull request #17917 from bdach/mod-overlay/flaky-free-mod-select-test
Fix flaky test in free mod select test scene
2022-04-22 12:54:47 +09:00
Bartłomiej Dach
e9bd87545e
Fix flaky test in free mod select test scene 2022-04-22 00:07:00 +02:00
Bartłomiej Dach
cd898344cb
Add test coverage of new incompatibility behaviour 2022-04-21 23:49:40 +02:00
Bartłomiej Dach
8c6864727e
Merge branch 'master' into first-run-setup 2022-04-21 22:14:57 +02:00
Salman Ahmed
295558b24d
Merge branch 'master' into settings-filter-fixes 2022-04-21 20:06:14 +03:00
Salman Ahmed
6ad10672ee
Merge branch 'master' into update-framework 2022-04-21 19:30:57 +03:00
Dean Herbert
119a81849c Merge branch 'update-framework' into settings-filter-fixes 2022-04-22 00:55:15 +09:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Dan Balasescu
08d250fe58 Rename MatchStarted() -> GameplayStarted() 2022-04-21 22:39:24 +09:00
Dean Herbert
d17c16d904 Merge branch 'master' into first-run-setup 2022-04-21 19:50:26 +09:00
Dean Herbert
f5d24add58 Fix TestSceneSkinnableSound not working under visual tests
oops
2022-04-21 16:49:21 +09:00
Dean Herbert
55270df6fc
Merge pull request #17833 from jai-x/new-chat-channel-list
Implement `ChannelList` for new chat design
2022-04-21 16:34:35 +09:00
Dean Herbert
0b81ae9de2 Convert to using sheared overlay container
Add better click-to-dismiss logic for sheader overlays
2022-04-21 16:28:44 +09:00
Dean Herbert
5c21a55e00 Merge branch 'sheared-overlay-container-click-away' into first-run-setup-sheared-overlay 2022-04-21 16:28:33 +09:00
Dean Herbert
2769d8e8cf Add test coverage of ShearedOverlayContainer 2022-04-21 16:27:27 +09:00
Dean Herbert
7d8cf1bbb6 Merge branch 'master' into first-run-setup 2022-04-21 15:49:39 +09:00
Dean Herbert
5c0e5eb6f4
Merge pull request #17899 from Joehuu/localise-most-strings
Use existing web localisation for most hardcoded strings
2022-04-21 14:48:12 +09:00
Dean Herbert
a9163727db Mark selected channel null in test when selector is activated 2022-04-21 13:44:14 +09:00
Joseph Madamba
0146949ad6 Fix failing string comparison tests 2022-04-20 16:52:24 -07:00
Jai Sharma
5319bce772 Revert DI usage of ChannelSelectorState in favour of directly binding BindableBool SelectorActive 2022-04-20 21:05:33 +01:00
Jai Sharma
e596c9d171 Use Bindable<ChannelSelectorState> to control selector active visibility 2022-04-20 19:12:43 +01:00
Dean Herbert
b722ff8dc5 Merge branch 'master' into mod-overlay/extension-points 2022-04-20 23:17:04 +09:00
Dean Herbert
2906af323a Fix incorrectly written string equality logic 2022-04-20 17:51:08 +09:00
Dean Herbert
1032dc235d Rename PopupScreenTitle to ShearedOverlayHeader 2022-04-20 16:01:15 +09:00
Dean Herbert
7e7fa633f0 Use direct localised string reference in test 2022-04-20 14:51:16 +09:00
Dean Herbert
c562004fe9 Add test coverage of only showing on first run 2022-04-19 17:08:38 +09:00
Dean Herbert
6d534046ff Add keyboard traversal support for first run dialog (and tidy up step traversal logic) 2022-04-19 14:57:15 +09:00
Dean Herbert
a8d32a2061 Add test coverage of notification resume flow 2022-04-19 14:53:01 +09:00
Dean Herbert
5fd64a4c78 Add test coverage to ensure we don't leave any screens in the first run overlay 2022-04-19 14:53:01 +09:00
Dean Herbert
9074eb283d Show a notification instead of blocking exit of wizard 2022-04-19 14:53:01 +09:00
Dean Herbert
fb7dc89503 Ensure wizard returns to initial screen after completion 2022-04-19 14:53:01 +09:00
Dean Herbert
ea52fab5b1 Tidy up dependencies and test naming 2022-04-19 14:53:01 +09:00
Dean Herbert
288f759bb4 Add test coverage of navigation 2022-04-19 14:53:01 +09:00
Dean Herbert
e064f2f23e Improve general layout and allow overlay to be displayed without dependencies for now 2022-04-19 14:53:01 +09:00
Dean Herbert
ae07b2b512 Initial setup 2022-04-19 14:53:01 +09:00
Dean Herbert
83e89b3e80 Add unread count to INotificationOverlay and fix toolbar button DI logic 2022-04-19 11:16:45 +09:00
Salman Ahmed
94335c2938 Update further usages to cache/resolve via interface 2022-04-19 00:18:10 +03:00
Dan Balasescu
bb8b94f8ad
Merge branch 'master' into i-notification-overlay 2022-04-19 06:03:56 +09:00
Salman Ahmed
3cbc6cd297 Update further tests to cache using IDialogOverlay 2022-04-18 21:04:22 +03:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
72a33c0926 Split out step for dialog overlay load wait 2022-04-18 20:06:08 +09:00
Dean Herbert
d86e3abf2c Fix invalid rename 2022-04-18 20:04:38 +09:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Salman Ahmed
80cce7c3cb Add failing test case 2022-04-18 06:59:58 +03:00
Bartłomiej Dach
4b6d42c7e8
Add assertion covering free mod selection mod validity filter 2022-04-17 23:28:52 +02:00
Bartłomiej Dach
9942b0a946
Add test scene for free mod select screen 2022-04-17 23:28:52 +02:00
Bartłomiej Dach
20c17b8c98
Make base mod select screen abstract 2022-04-17 23:28:51 +02:00
Bartłomiej Dach
15c54b38c1
Merge branch 'master' into fix-popup-dialog-handling-exit-sequence 2022-04-16 19:01:18 +02:00
Jai Sharma
f1dd319fd9 Implement ChannelList for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChannelList` which makes up the sidebar channel
selector of the new chat design. Contains two separate fill flows for
public and private `ChannelItem` child components.

Exposed bindable `SelectorActive` to indicate current state of the "Add
more channels" button. Requires `Bindable<Channel>` from parent
component.

Renames and updates the `TestSceneChannelListItem` to
`TestSceneChannelList` to make use of new component and having both
tests seemed redundant.
2022-04-15 15:44:38 +01:00
Dan Balasescu
8a55f9b968
Merge pull request #17302 from peppy/fix-spectator-seeks
Fix spectator not starting from current player position
2022-04-15 13:28:49 +09:00
Dan Balasescu
792ee3d171
Merge pull request #17802 from peppy/match-start-control-test-refactor
Refactor `TestSceneMatchStartControl` to avoid usage of `TestMultiplayerClient`
2022-04-15 13:28:21 +09:00
Dean Herbert
6081c29ae1 Remove ununsed using statement 2022-04-15 10:18:29 +09:00
Dean Herbert
a0ac316d6e Fix test matching conditions 2022-04-15 01:41:55 +09:00
Dean Herbert
21a5a2fd69 Add failing test coverage of incorrect current section after quick setting search 2022-04-14 20:36:49 +09:00
Dean Herbert
50a478ea5f Add failing test coverage of searching too fast not hiding filtered settings 2022-04-14 20:14:02 +09:00
Dean Herbert
392ce7390e Add test scene covering ScalingContainer delayed animations 2022-04-14 19:04:31 +09:00
Dan Balasescu
9de4d416e2 Merge branch 'master' into fix-spectator-seeks 2022-04-14 18:54:52 +09:00
Dean Herbert
c8db7cf2a8 Reset audio offset before each test run in TestSceneMasterGameplayClockContainer 2022-04-14 18:09:23 +09:00
Dean Herbert
58d5cf4560 Remove unused using statement 2022-04-14 16:37:59 +09:00
Dean Herbert
f48a9ba90a Add test coverage of nested screen stacks not handling dialog dismissal properly 2022-04-14 16:19:34 +09:00
Dan Balasescu
494955aff1 Resolve inspection issues 2022-04-14 13:11:11 +09:00
Dean Herbert
0a7fbcad1e
Merge branch 'master' into match-start-control-test-refactor 2022-04-13 22:26:10 +09:00
Dean Herbert
c77a7b75d3 Tidy things up 2022-04-13 21:12:35 +09:00
Dean Herbert
8b1fd051c6 Fix remaining autostart and gameplay tests 2022-04-13 21:04:15 +09:00
Dean Herbert
c0ad91796d Fix gameplay start flow 2022-04-13 20:57:40 +09:00
Dean Herbert
8a7b37856c Implement IsHost to return correct value for current state 2022-04-13 20:51:05 +09:00
Dean Herbert
4b6a9fbf47 Reimplement beatmap availability test 2022-04-13 20:41:56 +09:00
Dean Herbert
331242d585 Update transfer host logic and simplify local user checks 2022-04-13 20:38:39 +09:00
Dean Herbert
0a5a3415f8 Setup host switching and avoid starting gameplay 2022-04-13 20:28:53 +09:00
Dean Herbert
ca44d2c4dc Setup start/stop requests 2022-04-13 17:36:27 +09:00
Dean Herbert
1f01714ec2 Apply initial structural changes to TestSceneMatchStartControl 2022-04-13 17:36:27 +09:00
Dan Balasescu
3d27d3c536
Merge pull request #17786 from peppy/gameplay-leaderboard-update-totals-mode-change
Fix multiple issues with gameplay leaderboard (and tests)
2022-04-13 16:05:35 +09:00
Dan Balasescu
59ff9be316
Merge pull request #17788 from peppy/fix-replay-download-button-tests
Fix multiple issues in `ReplayDownloadButton` test scene
2022-04-13 16:00:45 +09:00
Dean Herbert
fbf0e5a45c Remove startFromSkipTarget parameter and update usages that required said behaviour 2022-04-13 14:25:43 +09:00
Dean Herbert
9c68b3edc5 Merge branch 'master' into fix-spectator-seeks 2022-04-13 12:33:41 +09:00
Dan Balasescu
abf7954a9c
Merge pull request #17792 from peppy/multi-match-footer-test-remove
Fix `MultiplayerMatchFooter` test crash due to missing `PopoverContainer`
2022-04-13 10:53:27 +09:00
Dan Balasescu
76517cecab
Merge pull request #17789 from peppy/rank-range-pill-test-refactor
Refactor `TestSceneRankRangePill` to not depend on `TestMultiplayerClient`
2022-04-13 10:46:00 +09:00
Dean Herbert
d73be7f177
Reword comment to read clearer
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-13 09:36:44 +09:00
Bartłomiej Dach
63e2a84d7f
Nest one more container to fix popover not being dismissable 2022-04-12 20:54:54 +02:00
Dean Herbert
ef7ab12b40 Fix MultiplayerMatchFooter test crash due to missing PopoverContainer
Clicking the countdown button would crash. I did consider removing the
test altogether but maybe it'll be useful in the future?
2022-04-12 23:01:39 +09:00
Dean Herbert
1ebbef88ec Refactor GameplayChatDisplay test scene to not require MultiplayerTestScene inheritance 2022-04-12 22:56:48 +09:00
Dean Herbert
20eca9bf6a Refactor TestSceneRankRangePill to not depend on TestMultiplayerClient 2022-04-12 19:39:24 +09:00
Dean Herbert
45d79c1a73 Ensure previous test score is cleaned up to allow visual test runs to work better 2022-04-12 18:21:40 +09:00
Dean Herbert
e901857610
Merge pull request #17776 from frenzibyte/dangerous-dialog-button-bounds
Fix dialog dangerous button being clickable at edges
2022-04-12 15:40:50 +09:00
Dean Herbert
8b1cee75fa Use BindableLong instead of BindableInt for user score tracking 2022-04-12 14:13:07 +09:00
Dean Herbert
22c75a518e Fix headers not getting reset on re-run of test 2022-04-12 12:38:15 +09:00
Dean Herbert
f29e329700 Move user count to a constant to allow easier adjustment 2022-04-12 12:11:51 +09:00
Dean Herbert
577e29351e Ensure players are always on both leaderboard teams
In a very rare case, the randomisation may cause all users to be on one
team, causing a test failure. The odds make it basically impossible, but
if adjusting the number of users in the test scene this can more readily
be hit.
2022-04-12 11:46:22 +09:00
Dan Balasescu
94e2a90af2
Merge pull request #17767 from peppy/multiplayer-gameplay-leaderboard-test-improvements
Refactor multiplayer gameplay leaderboard tests to remove reliance on `Test` implementations
2022-04-12 11:19:53 +09:00
Dean Herbert
a0e3a2102a Also expand match score component when leaderboard is (in test) 2022-04-12 10:49:57 +09:00
Salman Ahmed
74dfa79f17 Add failing test case 2022-04-11 21:04:55 +03:00
Dean Herbert
4ab6c11079 Add failing test coverage of skin import after exporting from lazer 2022-04-12 00:29:15 +09:00
Dean Herbert
01cec7d3fb Remove unnecessary string literals 2022-04-11 19:37:01 +09:00
Dean Herbert
09d560c93e Add test coverage of spectator requests 2022-04-11 19:27:14 +09:00
Dean Herbert
6a61fd95eb Tidy up base implementation 2022-04-11 19:19:45 +09:00
Dean Herbert
b52f070fdb Update existing multiplayer leaderboard tests to use new mocked implementation 2022-04-11 19:15:57 +09:00
Dean Herbert
0ccac24f76 Split out base implementation of MultiplayerGameplayLeaderboard test 2022-04-11 19:15:46 +09:00
Dan Balasescu
d1de516b11 Fix incorrect cursor parameterisation in test scene 2022-04-11 15:40:28 +09:00
Dean Herbert
779f7390b7 Add test coverage of DrawableRoom actually showing post-retrieval text 2022-04-11 13:44:34 +09:00
Salman Ahmed
34adc1d410 Add quick test coverage 2022-04-08 19:21:37 +03:00
Dan Balasescu
975bb8cc2a
Merge pull request #17703 from peppy/fix-storyboard-fallback-animation-frame-count-weirdness
Fix `DrawableStoryboardAnimation` to handle skin fallback frame count similar to stable
2022-04-08 17:01:17 +09:00
Bartłomiej Dach
112096768b
Add test checking incompatibility of multi mods 2022-04-07 22:38:46 +02:00
Bartłomiej Dach
8175741a6c
Merge branch 'master' into fix-storyboard-fallback-animation-frame-count-weirdness 2022-04-07 21:49:32 +02:00
Bartłomiej Dach
04db80848b
Remove unused using directives 2022-04-07 21:24:50 +02:00
Salman Ahmed
5b29ddd2ed Add further test coverage against paths with extensions 2022-04-07 15:05:08 +03:00
Dean Herbert
0674862b6c Fix failing tests 2022-04-07 17:52:08 +09:00
Dan Balasescu
f0698937b7
Merge pull request #17700 from peppy/fix-skin-lookups-extension-specified
Fix filename lookups on `LegacySkin`s going awry when extension is specified
2022-04-07 17:03:27 +09:00
Dean Herbert
b7f8716de9 Add test coverage of skin lookups failing when @2x and extension are present 2022-04-07 14:11:38 +09:00
Joseph Madamba
edb556643e Add failing replay button enabled test asserts 2022-04-06 20:43:56 -07:00
Dan Balasescu
c997d0fcf0
Merge pull request #17631 from bdach/mod-overlay/full-screen
Implement basic layout & behaviour of new mod select screen
2022-04-07 10:23:49 +09:00
Dean Herbert
065bb60324 Remove unused using statements 2022-04-06 16:05:11 +09:00
Dean Herbert
c2b2d443ed Add more comprehensive assert output to try and discern CI issues 2022-04-06 15:31:12 +09:00
Dean Herbert
d17890ca9a Replace a couple more local test beatmap cases which can instead use TestResources methods 2022-04-06 15:04:15 +09:00
Dean Herbert
220d7bc6db Fix dangerous realm operation in TestSceneMultiplayerMatchSongSelect
The import process was running on the async load thread, but then
accessed from the access thread later on. This seemed to somehow pass
fine in headless runs, but would fail on visual test execution
(specifically on `TestBeatmapConfirmed()`).
2022-04-06 14:01:41 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks 2022-04-06 12:58:43 +09:00
Bartłomiej Dach
9c91e6d8f5
Merge branch 'master' into mod-overlay/full-screen 2022-04-05 21:29:40 +02:00
Dean Herbert
3ca365ad7f
Merge branch 'master' into dangerous-delete-actions 2022-04-05 10:55:01 +09:00
CenTdemeern1
b2c822a3b1 Release mouse button 2022-04-04 23:02:07 +02:00
CenTdemeern1
da315f8a61 Make the test hold the button instead of pressing it 2022-04-04 22:44:35 +02:00
Bartłomiej Dach
a1ded66fd8
Fix various breakage in delete local score test scene 2022-04-04 21:59:09 +02:00
Bartłomiej Dach
29b7460cc7
Fix weird test step 2022-04-04 20:05:54 +02:00
Dean Herbert
3ba81f3fdc Fix overlapping variable usage 2022-04-04 15:29:03 +09:00
Dean Herbert
f00dc5e156
Merge pull request #17598 from smoogipoo/playlist-quick-reorder
Fix playlist refreshing all items on order change
2022-04-04 14:48:05 +09:00
Bartłomiej Dach
90e44b67ea
Improve robustness of test code 2022-04-03 20:24:32 +02:00
Bartłomiej Dach
a172b194f0
Add testing for different rulesets 2022-04-03 20:12:34 +02:00
Bartłomiej Dach
2921a13609
Add testing for mod bindable state propagation 2022-04-03 20:12:34 +02:00
Bartłomiej Dach
e46c2df409
Add testing for customisation panel show/hide logic 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
293ef44836
Implement new mod select screen 2022-04-03 20:12:33 +02:00
Dean Herbert
969f7e121a
Merge pull request #17545 from jai-x/new-chat-textbox
Implement `ChatTextBox` for new chat design
2022-04-03 22:12:12 +09:00
Bartłomiej Dach
6d1844adc3
Use nameof() in test to reference event names 2022-04-03 14:27:37 +02:00
Jai Sharma
94fa5e2ef2 Use Action<string> for event OnChatMessageCommitted & clear textbox internally 2022-04-02 21:58:54 +01:00
Bartłomiej Dach
28ba437d24
Merge branch 'master' into sucess-rate-tooltip 2022-04-02 19:31:45 +02:00
Salman Ahmed
b815f685fc Flip viaConfig conditional branch 2022-04-02 19:28:33 +03:00
Jai Sharma
9e152cd3fd Fix code quality issues 2022-04-02 17:27:44 +01:00
Salman Ahmed
8534dd3463
Simplify TestCase attributes to one Values attribute
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-02 19:24:16 +03:00
Jai Sharma
2297073b7e Use OnChatMessageCommit & OnSearchTermsChanged events in ChatTextBar 2022-04-02 17:15:19 +01:00
Salman Ahmed
c4635f3c03 Add failing test case 2022-04-02 18:36:32 +03:00
Salman Ahmed
a252c4cad5 Add random pass/play count data in test scene 2022-04-02 18:08:23 +03:00
CenTdemeern1
c103cee1d5 Need to commit the second half again because my Git UI messed up 2022-04-02 04:53:47 +02:00
CenTdemeern1
a1baced777 Change behavior of the display mode test
I remembered to run InspectCode this time, all good
2022-04-02 04:45:21 +02:00
CenTdemeern1
ee9696855b Remove hover test 2022-04-02 04:41:05 +02:00
CenTdemeern1
245e452d41 Remove redundant typecast I accidentally left in (Thanks InspectCode) 2022-04-02 04:31:43 +02:00
CenTdemeern1
95ccac50d4 Add display mode changing test
Yup this is gonna fail horribly
2022-04-02 04:26:16 +02:00
CenTdemeern1
9350f6f5f8 Add spaces around commas in Vector2 construction 2022-04-02 02:59:07 +02:00
CenTdemeern1
dc744f18ff Trim whitespace 2022-04-02 02:43:51 +02:00
CenTdemeern1
6685c97147 mainContainer -> toolbarClock 2022-04-02 02:43:44 +02:00
CenTdemeern1
b07152a119 Initial attempt at writing a test for the toolbarClock
I'll add more once I know if this code passes review or not
2022-04-02 02:35:37 +02:00
Dan Balasescu
6e6271d0c0 Fix "server-side" room playlist not updated
Remove unused using
2022-04-01 18:32:10 +09:00
Dan Balasescu
37dea0ff21 Add failing test case 2022-04-01 17:05:11 +09:00
Dean Herbert
058350dfd8 Fix failing test due to incorrect sizing specification 2022-04-01 10:53:16 +09:00
Bartłomiej Dach
1c7b259f8e
Merge branch 'master' into mod-overlay/sheared-toggle 2022-03-31 22:20:20 +02:00
Bartłomiej Dach
e180db145d
Add constructor argument to facilitate fixed width/autosizing 2022-03-31 22:19:08 +02:00
Bartłomiej Dach
b3896257ca
Move shear amount to constant 2022-03-31 22:09:03 +02:00
Dean Herbert
e8a295a61b Add test coverage of textbox focus in settings panels when switching between nested panels 2022-03-31 15:24:21 +09:00
Bartłomiej Dach
3ac0da2da3
Implement sheared toggle button 2022-03-30 22:50:21 +02:00
Bartłomiej Dach
f4184cb6fe
Fix typo in step name 2022-03-30 22:04:55 +02:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
Dan Balasescu
cb1ee05539
Merge pull request #17555 from peppy/remove-source-from-wedge
Remove song source from main wedge display
2022-03-30 18:57:25 +09:00
Dean Herbert
bc0b982102 Remove song source from main wedge display
This was definitely added at someone's request, since I wouldn't have
put it here. But it's displayed below in the details section already and
also not displayed in the updated "wedge" in the new design.

See https://github.com/ppy/osu/discussions/17537 for discussion.
2022-03-30 17:59:40 +09:00
Dean Herbert
99f141d396
Merge pull request #17546 from frenzibyte/autoplay-cinema-incompatibility
Mark both "Autoplay" and "Cinema" mods as mutually exclusive
2022-03-30 16:41:07 +09:00
Dean Herbert
975883da5c Move all usages of client.realm filename to a single const 2022-03-30 13:34:48 +09:00
Dan Balasescu
c311e11496
Merge pull request #17527 from peppy/switch-osu-folder
Add ability to "migrate" data to another folder which has an existing install
2022-03-30 13:20:49 +09:00
Salman Ahmed
7495a04990 Ignore EF-to-realm migration tests on ARM architectures 2022-03-30 01:24:37 +03:00
Salman Ahmed
b7ae431252 Add test coverage 2022-03-30 01:08:22 +03:00
Jai Sharma
f049d7cb67 Implement ChatTextBox for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChatTextBox`.
Exposes `BindableBool` `ShowSearch` to change text input behaviour
between normal and search behaviour.

Adds new component `ChatTextBar`.
Exposes `BindableBool` `ShowSearch` which toggles between showing current
chat channel or search icon.
Additionally binds to child `ChatTextBox` components.
Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.
2022-03-29 22:33:38 +01:00
Dean Herbert
f762af1344 Add test coverage of migrating to folder with existing data 2022-03-29 23:28:07 +09:00
Dean Herbert
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
Dean Herbert
7059e4bf94 Add test coverage for autoplay avatar not being clickable 2022-03-28 23:37:39 +09:00
Dean Herbert
01980effe2
Merge pull request #17449 from smoogipoo/countdown-button-ux
Improve multiplayer ready button/countdown button UX
2022-03-27 13:42:10 +09:00
Bartłomiej Dach
b68c3265f6
Merge branch 'master' into clock 2022-03-26 20:55:08 +01:00
Bartłomiej Dach
69cc863611
Fix test failures in skin editor test scene 2022-03-26 19:28:07 +01:00
Dean Herbert
622458e857 Allow scaling display in the test scene 2022-03-26 18:56:28 +09:00
Dean Herbert
999ae88af2 Show game time display in clock 2022-03-26 18:13:20 +09:00
Dean Herbert
0d8a7246dd Add basic implementation of clock 2022-03-26 18:13:13 +09:00
Dean Herbert
c3a0f0d6b8 Update tests in line with new button behaviour 2022-03-26 14:43:41 +09:00
Dean Herbert
0146717fcb Adjust test button sizing to better match actual usage 2022-03-26 14:29:31 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dean Herbert
76abce4867 Add missing wait calls on async test steps 2022-03-25 18:38:26 +09:00
Dean Herbert
1acfbf490b
Merge branch 'master' into mod-overlay/settings-area 2022-03-25 17:37:39 +09:00
Dan Balasescu
c1649714f4 Add a few more ready button tests 2022-03-25 17:12:00 +09:00
Dan Balasescu
d5a37c2237 Remove irrelevant test 2022-03-25 17:06:04 +09:00
Dean Herbert
aa9e642e40
Merge branch 'master' into pin-multiplayer-host 2022-03-25 16:49:35 +09:00
Dan Balasescu
478174dd58
Merge pull request #17416 from peppy/skin-fuck
Refactor skin construction
2022-03-25 15:36:06 +09:00
Bartłomiej Dach
5f730c0cd4
Merge branch 'master' into fix-old-legacy-replays 2022-03-24 23:21:50 +01:00
Bartłomiej Dach
b76cd2beae
Merge branch 'master' into fix-realm-import-test-assert-failure 2022-03-24 21:48:10 +01:00
Dean Herbert
d6fc53579e Split out shared code for encode-decode cycle (and remove unrelated culture set) 2022-03-24 17:00:49 +09:00
Dean Herbert
a7554dcdf7 Use a constant for the early version timing offset 2022-03-24 16:43:41 +09:00
Dean Herbert
2efae031c9 Add test coverage of decode specifically 2022-03-24 16:39:56 +09:00
Dean Herbert
59a7eb5322 Add test coverage ensuring offsets are correct before and after legacy replay encode 2022-03-24 16:34:21 +09:00
Dan Balasescu
f0d132b16e Rename FinishCountdown() -> SkipToEndOfCountdown() 2022-03-24 15:21:46 +09:00
Dean Herbert
1049e349e3 Add test coverage of user offset being set before construction of MasterGameplayClockContainer 2022-03-24 14:55:01 +09:00
Dean Herbert
16dc2f6ef5 Adjust TestSceneFailAnimation to account for initial frequency change 2022-03-24 14:51:21 +09:00
Dan Balasescu
96a447f68b Rename Multiplayer prefix to button classes 2022-03-24 14:28:38 +09:00
Dan Balasescu
90c7945bca Re-remove PopoverButton class with better test fix 2022-03-24 14:26:31 +09:00
Dean Herbert
6f529cf7a4 Merge branch 'master' into fix-spectator-seeks 2022-03-24 14:24:20 +09:00
Dean Herbert
4d0b4c2541 Fix realm potentially not being refreshed in time for test asserts in BeatmapImporterTests
As seen at https://github.com/ppy/osu/runs/5659368512?check_suite_focus=true

Went through every usage of `.Import` and added either an
`EnsureLoaded`, or where that provides too many checks, an explicit
`realm.Refresh()`.
2022-03-24 12:59:17 +09:00
Dan Balasescu
547418e47e Revert "Remove PopoverButton class"
This reverts commit 6b712be97d.
2022-03-24 11:15:51 +09:00
Dean Herbert
05c7e09d79 Make Textures and Samples read-only 2022-03-24 00:02:38 +09:00
Dan Balasescu
34a367b369 Merge branch 'master' into multiplayer-countdown-timers-2 2022-03-23 15:40:50 +09:00
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck 2022-03-23 15:30:22 +09:00
Dan Balasescu
a83a90e675 Rename countdown Delay -> Duration 2022-03-23 15:21:16 +09:00
Dean Herbert
078288a616 Make "skin.ini" the default skin filename and remove redundant parameters 2022-03-23 15:05:01 +09:00
Dean Herbert
7a1909bf97 Change parameter order of LegacySkin to put IStorageResourceProvider first
The optional resource store should not be before the (basically)
required resource provider.
2022-03-23 15:02:04 +09:00
Dean Herbert
a7f63fb034 Make providing a custom ResourceStore to LegacyBeatmapSkin optional (for tests only) 2022-03-23 14:57:42 +09:00
Dan Balasescu
6b712be97d Remove PopoverButton class 2022-03-23 10:40:38 +09:00
Dan Balasescu
9138aaf780 Split MultiplayerReadyButton 2022-03-23 10:38:56 +09:00
Dan Balasescu
1ffa1e1219
Merge pull request #17400 from nagilson/screen-mod-retention
Fix mods from single player carrying over to multiplayer
2022-03-23 08:36:15 +09:00
Dan Balasescu
8591630e5c
Merge branch 'master' into editor-exit-harsh-blocking 2022-03-23 07:06:25 +09:00
Bartłomiej Dach
8647bebdca
Merge branch 'master' into hold-to-discard-changes 2022-03-22 20:37:43 +01:00
Bartłomiej Dach
8192fb47fe
Merge branch 'master' into skin-editor-eat-input 2022-03-22 19:22:48 +01:00
Bartłomiej Dach
c8d48f89e8
Remove unnecessary local 2022-03-22 19:13:22 +01:00
Bartłomiej Dach
94c5207f36
Fix test not actually testing desired scenario anymore
The test was checking the test scene's own `SelectedMods` bindable
rather than the multiplayer screen's, and the former was never actually
being mutated by anything. Therefore the case would pass even on
`master` with the fix reverted.
2022-03-22 19:04:32 +01:00
Dean Herbert
804e856160 Move and refactor test in line with functionality changes 2022-03-22 17:38:43 +09:00
Dean Herbert
ff8352b749
Merge branch 'master' into screen-mod-retention 2022-03-22 17:27:26 +09:00
Dean Herbert
483fb84b56 Fix typo in FinishCountdown method 2022-03-22 16:50:13 +09:00
Dean Herbert
2c4a6c2465 Add missing async safeties to new tests 2022-03-22 16:46:42 +09:00
Dean Herbert
61ddf1e6cf Disallow exiting the editor without saving (unless explicitly confirming) 2022-03-22 15:42:56 +09:00
Dean Herbert
0fcb3bdba9 Fix beatmap date added not being updated on reimporting a soft deleted beatmap
Addresses concerns raised in https://github.com/ppy/osu/discussions/17399.
2022-03-22 14:10:36 +09:00
NAGILSON
33d97f53cb Fill in assert details, remove whitespace 2022-03-21 22:58:53 -04:00
NAGILSON
aaf2edace9 remove code from old incorrect test 2022-03-21 22:48:08 -04:00
NAGILSON
74ce009ed8 [WIP] Multiplayer Mods Regression Test 2022-03-21 22:46:20 -04:00
Dan Balasescu
aea03ca21d
Merge pull request #17359 from frenzibyte/fix-score-panel-max-combo
Improve method of retrieving beatmap maximum combo for results score panels
2022-03-22 06:28:30 +09:00
Dean Herbert
ed66f86ac6 Update editor exit-without-safe tests to account for hold behaviour 2022-03-21 17:52:54 +09:00
Dean Herbert
3643f879e4 Add test coverage of skin editor settings slider not working via keyboard adjustments 2022-03-21 17:33:56 +09:00
Dean Herbert
b42081dd9b Add DangerousButton for use in popup dialogs 2022-03-21 16:06:45 +09:00
Dean Herbert
5104e4db21 Add step to TestSceneChannelListItem to actually select an item 2022-03-21 14:33:50 +09:00
Dean Herbert
812343b410 Merge branch 'master' into new-chat-channel-control 2022-03-21 14:14:02 +09:00
Salman Ahmed
5c1e11c153
Merge branch 'master' into queue-list-counter 2022-03-21 05:01:09 +03:00
hwabis
06136b2247 Revert OsuTabItem Text to protected, update tab count test 2022-03-20 21:37:02 -04:00
hwabis
63b6686384 make test name clearer 2022-03-20 16:28:05 -04:00
hwabis
8fbdd06895 add queue tab count test 2022-03-20 16:24:41 -04:00
Salman Ahmed
6f47f7ffc8 Remove no longer necessary MaxCombo assignment in tests 2022-03-20 16:29:56 +03:00
Salman Ahmed
145fca2704 Fix failing test scenes 2022-03-20 16:17:19 +03:00
Jai Sharma
ba5a43b526 Rename ControlItem -> ChannelListItem and associated classes 2022-03-19 21:49:14 +00:00
Dean Herbert
63998ad9f1 Add test coverage of SpectatorPlayer failing to seek on inopportune frame arrival time 2022-03-19 15:06:22 +09:00
Salman Ahmed
60390a916a
Merge branch 'master' into fix-intermittent-failure 2022-03-19 02:49:21 +03:00
Dan Balasescu
04f4e81852 Rename start countdown request 2022-03-18 21:05:19 +09:00
Salman Ahmed
2cb1974a58 Add max combo to test beatmap info 2022-03-18 13:11:41 +03:00
Dan Balasescu
c97aa3a26f Fix intermittent ready button test failure 2022-03-18 18:57:34 +09:00
Dean Herbert
7cb7b03cee Fix TestSceneMasterGameplayClockContainer not clearing previous test clocks 2022-03-18 18:16:47 +09:00
Dean Herbert
4bc7c69bf7 Fix test regression due to missing argument 2022-03-18 16:27:14 +09:00
Dean Herbert
f09a946722 Start GameplayClockContainer paused for better state control 2022-03-18 15:28:22 +09:00
Dean Herbert
b5ff9ed13a Add test coverage of multiplayer being paused when users are still loading 2022-03-18 15:07:42 +09:00
Dan Balasescu
72843a6797 Add support for starting/stopping countdowns 2022-03-18 14:33:09 +09:00
Dan Balasescu
efce471f0b Add countdown button + popover 2022-03-18 14:31:57 +09:00
Dan Balasescu
b76a87e6f8 Split ready button visual logic into button itself 2022-03-18 14:31:57 +09:00
Salman Ahmed
a7ddfc7f51 Add step for returning host back to local user 2022-03-18 08:08:31 +03:00
Salman Ahmed
d0cc68bc97 Add test coverage 2022-03-18 07:26:10 +03:00
Salman Ahmed
4adb8c205f Add step to switch hosts randomly in TestManyUsers 2022-03-18 07:18:49 +03:00
Dan Balasescu
af6d53ad64
Merge pull request #17279 from peppy/skin-editor-borrowed-dependencies
Only show components in skin editor which are usable on the current screen
2022-03-18 11:29:12 +09:00
Dean Herbert
6ec024c84d
Merge pull request #17307 from frenzibyte/lead-in-test-scene-manual 2022-03-18 10:53:16 +09:00
Bartłomiej Dach
cf623a2889
Merge branch 'master' into multiplayer-button-refactor 2022-03-17 22:33:48 +01:00
Bartłomiej Dach
50d64e1b65
Merge branch 'master' into skin-editor-borrowed-dependencies 2022-03-17 21:27:43 +01:00
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