1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 13:22:55 +08:00
Commit Graph

7997 Commits

Author SHA1 Message Date
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Bartłomiej Dach
b3ce7f7b43
Merge branch 'master' into fix-section-container-scroll-attempt-2 2023-06-08 09:19:26 +02:00
Bartłomiej Dach
35e41d816a
Cover clamping to max beat divisor in test 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
9b665d2e1a
Merge branch 'master' into beat-snap-divisor-hotkeys 2023-06-07 23:38:03 +02:00
Dean Herbert
3a01498789 Use existing next/previous methods (and remove looping behaviour) 2023-06-08 01:01:29 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02:00
Dean Herbert
757596fffa Add test coverage of scroll failing 2023-06-07 16:32:29 +09:00
Bartłomiej Dach
f51b8a6a05
Fix code quality inspection 2023-06-06 21:11:24 +02:00
Bartłomiej Dach
7694aa7219
Add test coverage 2023-06-06 20:36:44 +02:00
Bartłomiej Dach
46ec250d34
Fix test failures due to cross-test state pollution
`TestSceneEditorTestGameplay` is not isolated from database, and one of
the tests exiting editor when seeked to 60000 milliseconds
(`TestClockTimeTransferIsOneDirectional()`) ended up changing
`EditorTimestamp` to the same value, causing
`TestSaveChangesBeforeGameplayTest()` to fail due to changing initial
state.

To fix, perform a direct deletion of imported beatmaps in realm to avert
this scenario, contrary to the soft-deletion via `BeatmapManager` done
previously.
2023-06-06 20:21:55 +02:00
Cootz
ba7069df34 Fix SelectAllModsButton state doesn’t update when search term changed 2023-06-06 16:12:31 +03:00
Dean Herbert
66b8b5192b Add test coverage of editor timestamp remembering 2023-06-06 15:25:19 +09:00
Bartłomiej Dach
5c1abdc704
Fix screen navigation test hijacking dummy request handler
In an upcoming change, I stumbled upon a test failure mode wherein tests
in `TestSceneScreenNavigation` would die on the following exception:

	2023-05-07 17:58:42 [error]: System.ObjectDisposedException: Cannot access a closed Realm.
	2023-05-07 17:58:42 [error]: Object name: 'Realms.Realm'.
	2023-05-07 17:58:42 [error]: at Realms.Realm.ThrowIfDisposed()
	2023-05-07 17:58:42 [error]: at Realms.Realm.All[T]()
	2023-05-07 17:58:42 [error]: at osu.Game.Beatmaps.BeatmapManager.<>c__DisplayClass25_0.<QueryBeatmap>b__0(Realm r) in D:\a\osu\osu\osu.Game\Beatmaps\BeatmapManager.cs:line 282
	2023-05-07 17:58:42 [error]: at osu.Game.Database.RealmAccess.Run[T](Func`2 action) in D:\a\osu\osu\osu.Game\Database\RealmAccess.cs:line 387
	2023-05-07 17:58:42 [error]: at osu.Game.Beatmaps.BeatmapManager.QueryBeatmap(Expression`1 query) in D:\a\osu\osu\osu.Game\Beatmaps\BeatmapManager.cs:line 282
	2023-05-07 17:58:42 [error]: at osu.Game.Tests.Visual.OnlinePlay.TestRoomRequestsHandler.<HandleRequest>g__createResponseBeatmaps|6_0(Int32[] beatmapIds, <>c__DisplayClass6_0& ) in D:\a\osu\osu\osu.Game\Tests\Visual\OnlinePlay\TestRoomRequestsHandler.cs:line 174
	2023-05-07 17:58:42 [error]: at osu.Game.Tests.Visual.OnlinePlay.TestRoomRequestsHandler.HandleRequest(APIRequest request, APIUser localUser, BeatmapManager beatmapManager) in D:\a\osu\osu\osu.Game\Tests\Visual\OnlinePlay\TestRoomRequestsHandler.cs:line 140
	2023-05-07 17:58:42 [error]: at osu.Game.Tests.Visual.TestMultiplayerComponents.<>c__DisplayClass18_0.<load>b__0(APIRequest request) in D:\a\osu\osu\osu.Game.Tests\Visual\TestMultiplayerComponents.cs:line 80
	2023-05-07 17:58:42 [error]: at osu.Game.Online.API.DummyAPIAccess.<>c__DisplayClass32_0.<Queue>b__0() in D:\a\osu\osu\osu.Game\Online\API\DummyAPIAccess.cs:line 74

Upon closer inspection, one of the tests in the scene instantiates a
`TestMultiplayerComponents` instance. `TestMultiplayerComponents`
registers a custom request handler onto `DummyAPIAccess`. Normally, this
is not an issue; however, because `TestSceneScreenNavigation` is an
`OsuGameTestScene`, and therefore has its storage recycled after every
test, this leads to the error above in the following scenario:

1. `TestPushMatchSubScreenAndPressBackButtonImmediately()` passes.
2. The test is cleaned up, and the test case's storage is recycled,
   including the test case's realm database.
3. In a subsequent test, a web request handled by the dummy API request
   handler is fired. The dummy API request handler subsequently attempts
   to access a realm that does not exist anymore.

As the usage of `TestMultiplayerComponents` is highly unorthodox in this
particular case, I'm opting for a localised fix which ensures that the
request handler is cleaned up appropriately.
2023-06-05 23:15:16 +02:00
Cootz
71e6f80c40 Add hotkey for switching search bar focus 2023-06-05 15:54:19 +03:00
Cootz
3ebc801484 Move (de)select all mods hotkeys handling to ModSelectOverlay 2023-06-05 13:49:07 +03:00
Bartłomiej Dach
25d0f0f3da
Merge pull request #23741 from peppy/fix-manage-collection-commit-on-focus-loss
Fix collection name changes not being reflected if enter is not pressed
2023-06-04 17:19:13 +02:00
Cootz
fd554033db Update tests 2023-06-04 17:11:04 +03:00
Dean Herbert
3e308e4c27 Add test coverage showing commit failure in manage collections dialog 2023-06-04 12:50:30 +09:00
Bartłomiej Dach
331e90f720
Merge branch 'master' into tidy-results-grid-usage 2023-06-03 19:45:23 +02:00
Bartłomiej Dach
a9d4556647
Merge branch 'master' into update-multiplayer-room-diff-range 2023-06-03 16:50:09 +02:00
Cootz
4c7cca101e Rename IsValid to Visible 2023-06-02 11:33:38 +03:00
Dean Herbert
bcde2cbc73 Apply NRT to BeatDivisorControl 2023-06-01 16:58:14 +09:00
Dean Herbert
985604fab5 Return StatisticItems rather than StatisticRows from ruleset
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.

Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
Dean Herbert
14a376c041 Merge branch 'master' into scorev2 2023-05-30 14:34:43 +09:00
Bartłomiej Dach
5604dfb758
Merge branch 'master' into acc-challenge 2023-05-29 22:33:57 +02:00
Bartłomiej Dach
1b57b0d31c
Add testing 2023-05-29 22:33:46 +02:00
Dean Herbert
1558723420 Merge branch 'master' into scorev2 2023-05-29 20:06:32 +09:00
Bartłomiej Dach
53c91349fe
Merge branch 'master' into slider-control-point-no-distance-snap 2023-05-26 19:52:54 +02:00
Bartłomiej Dach
96fe7cbe54
Merge branch 'master' into sample-set-controls 2023-05-25 21:58:16 +02:00
Dean Herbert
804671ca74 Split out grid snapping modes into "relative" and "global" types 2023-05-25 21:41:19 +09:00
Dean Herbert
7a5349d747 Remove constructor from MultiplayerPlaylistItem which is only used in tests 2023-05-25 20:09:40 +09:00
Dean Herbert
058edb5d5f Centralise beatmap playable duration and bounds lookups 2023-05-25 17:32:48 +09:00
Dan Balasescu
6d9ba9248d Massage tests a bit more 2023-05-25 16:38:22 +09:00
Bartłomiej Dach
578a0e7494
Merge branch 'master' into beat-divisor-visual-improvements 2023-05-24 22:28:26 +02:00
Bartłomiej Dach
07b5874eee
Fix test step name 2023-05-24 20:18:36 +02:00
Dean Herbert
6044327181 Add test coverage for escape deselecting any active selection 2023-05-24 23:59:22 +09:00
Dean Herbert
663cec1ff6 Combine editor navigation test scenes 2023-05-24 23:51:28 +09:00
Dean Herbert
8e5ba2208d Add test coverage of new hotkeys 2023-05-24 17:33:48 +09:00
Dean Herbert
e68ba6366c Update new usages of "soft" to use the new constant 2023-05-24 14:04:10 +09:00
Dean Herbert
298989ffd2 Merge branch 'master' into sample-set-controls 2023-05-24 14:03:04 +09:00
Gyoshi
b5f8093941 Use RangePadding to align mouse with slider 2023-05-23 18:16:14 +02:00
Gyoshi
fa00f8b92a replace manual code with existing method 2023-05-23 18:16:12 +02:00
Gyoshi
921d7e4d89 More fitting tests for new layout 2023-05-23 18:16:10 +02:00
Dan Balasescu
fee3d43596 Merge branch 'master' into scorev2 2023-05-23 19:07:54 +09:00
Dan Balasescu
844c023fb7 Fix tests 2023-05-23 18:18:27 +09:00
Dean Herbert
ff5dde0ebe
Merge pull request #23575 from Joehuu/fix-inverted-video-only-check
Fix old widescreen videos with black bars not correctly filling screen (again)
2023-05-23 16:47:52 +09:00
Cootz
c3f06ad2db
Merge branch 'master' into add-mod-search-option 2023-05-23 08:55:57 +03:00
Bartłomiej Dach
2ce150ba2b
Add failing test case for sample undo 2023-05-22 22:23:05 +02:00
Bartłomiej Dach
843d2903d2
Add failing test case for slider velocity undo 2023-05-22 22:18:15 +02:00
Cootz
67bf1b4dfe Select/deselect first visible mod when GlobalAction.Select is triggered 2023-05-21 11:05:01 +03:00
Dan Balasescu
7cbf48ffcf Fix TestSceneScoring and incorrect combo calculations 2023-05-19 14:09:19 +09:00
Dan Balasescu
73544231de Fix TestSceneTopLocalRank 2023-05-19 14:06:56 +09:00
Joseph Madamba
caa79704ac
Add test coverage for failing case 2023-05-17 20:23:37 -07:00
Dean Herbert
ec2b9165d5 Adjust BeatDivisorControl test to show control mmuch larger 2023-05-17 16:33:58 +09:00
Dean Herbert
ebce39cd1c Add test coverage of failing sample bank transfer 2023-05-16 18:52:52 +09:00
Dean Herbert
8528fcaedc Rename editor sample adjustment test scene to increase scope of tests 2023-05-16 18:52:52 +09:00
Dean Herbert
83dcd78826 Make HitSampleInfo.Bank non-nullable 2023-05-16 18:12:56 +09:00
Cootz
6647d95ea7 Kill search focus when clicking on ModColumn 2023-05-14 18:32:16 +03:00
Bartłomiej Dach
a99bf0fc5a
Add test coverage 2023-05-14 12:29:24 +02:00
Bartłomiej Dach
9a327d95b8
Add test coverage 2023-05-14 11:24:24 +02:00
Cootz
2467813d81 Block deselect all short key when using the search box 2023-05-09 16:14:42 +03:00
Dean Herbert
9160711470 Change "Show main page" test steps to actually load the main page 2023-05-08 15:32:00 +09:00
Dean Herbert
f002038137 Add test coverage of failing wiki return to page scenario 2023-05-08 15:29:05 +09:00
Bartłomiej Dach
8514b2758a
Fix rapid back button test failure 2023-05-07 21:07:38 +02:00
Cootz
4c3af6ecfe Add test coverage for deselect all with filtered mods selected 2023-05-07 15:50:21 +03:00
Bartłomiej Dach
80ac8abaa6
Merge branch 'master' into chat-report 2023-05-06 15:30:44 +02:00
Bartłomiej Dach
fba3c587cf
Add test coverage for info message failing to display 2023-05-06 15:26:29 +02:00
Cootz
5aca3a78da Add basic tests for external search 2023-05-06 12:21:32 +03:00
Cootz
a226caff56 Fix testing 2023-05-06 11:09:44 +03:00
Cootz
7422b5285c Fix wrong filtering in testing 2023-05-05 22:41:30 +03:00
Dean Herbert
8391e2a538 Move reporting code out of DrawableChatUsername into more correct locations 2023-05-05 14:03:42 +09:00
Dean Herbert
698baa78bf
Merge pull request #22711 from Terochi/keep-shared-settings-ruleset-change
Keep shared mod settings when changing ruleset
2023-05-05 13:29:55 +09:00
Bartłomiej Dach
99e8b2ce70
Make getMod() method generally better 2023-05-04 19:12:22 +02:00
Bartłomiej Dach
aa7885ab97
Use better test step names 2023-05-04 19:11:51 +02:00
Bartłomiej Dach
bdd96caaa9
Merge branch 'master' into edit-mods-preset 2023-05-04 18:59:47 +02:00
Bartłomiej Dach
e43fc23606
Fix typos in test 2023-05-04 18:50:21 +02:00
cdwcgt
2cb6642b0d
use AddUntilStep or not wait 2023-05-04 13:18:25 +09:00
Bartłomiej Dach
59ece64d25
Merge branch 'master' into skin-editor-change-handler-improvement 2023-05-03 19:42:42 +02:00
cdwcgt
c609e6345c
remove Use Current Mods menu item 2023-05-03 23:02:50 +09:00
cdwcgt
3a15783a3c
remove wait, use AddUntilStep 2023-05-03 22:59:01 +09:00
cdwcgt
25bf4e68ec
remove useless wait 2023-05-03 22:53:13 +09:00
Cootz
f0d35eb12b Update testing 2023-05-03 13:12:11 +03:00
Dean Herbert
b932e4d986 Rename DrawableUsername to DrawableChatUsername and only pass message ID 2023-05-03 18:53:22 +09:00
Dean Herbert
4f55afb60d Merge branch 'master' into chat-report 2023-05-03 18:50:38 +09:00
Dean Herbert
384693a431 Fix test failure in MultiplayerMatchSongSelect due to multiple overlays present
https://github.com/ppy/osu/actions/runs/4868337922/jobs/8681736995?pr=23308.
2023-05-03 14:30:58 +09:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
e394b487e0
Merge branch 'master' into edit-mods-preset 2023-05-03 12:06:16 +09:00
Dean Herbert
e42b0cc5b1
Merge pull request #23370 from peppy/fix-editor-playfield-padding
Add more padding around playfield in editor to avoid overlap with tool areas
2023-05-03 11:44:55 +09:00
Bartłomiej Dach
95badb9455
Adjust composer tests to new screen layout
`TestSceneHitObjectComposer.TestPlacementFailsWhenClickingButton()` was
attempting to cover the case of the user clicking a toolbox button which
was in front of the playfield, and ensure that the click did not result
in a placement. However, since the paddings in
67f83f246b were added, it is impossible
for a toolbox button to be in front of the playfield in the collapsed
state, which the test was relying on.

The test scenario is still however relevant in the case of the toolbox
being expanded, as in that state the toolbux buttons may very well end
up being in front of the playfield, and they still should not result in
a hitobject being placed. To ensure that this is the case, add a few
extra test steps ensuring that the toolbox is expanded first before
trying to retrieve an overlapping button.
2023-05-02 18:45:45 +02:00
Cootz
a6ca049739 Manually implement @bdach prototype 2023-05-02 14:15:33 +03:00
Dean Herbert
94ae9d7664
Merge pull request #23357 from OliBomby/fix-reverse-crash
Prevent infinite repeat count when adjusting repeats of 0 length slider
2023-05-02 19:53:26 +09:00
Dean Herbert
1e4a628cb1
Merge pull request #23284 from Hy0tic/multiplier-doesnt-update-with-preset-mod
Fix issue where multiplier show wrong value when adjusting speed on preset
2023-05-02 14:59:41 +09:00
Dean Herbert
e3c384c6b5 Merge branch 'master' into sample-control-points 2023-05-02 14:38:39 +09:00
Dean Herbert
983a8f7dfe
Merge branch 'master' into fix-reverse-crash 2023-05-02 13:14:34 +09:00
Dean Herbert
87db891143 Adjust test to reliabily fail 2023-05-02 13:12:11 +09:00
Bartłomiej Dach
1fb4c814f4
Remove no longer needed API call mocking
The online ID will be reset unconditionally after any local change is
made to any beatmap. That behaviour no longer depends on online lookups
succeeding or failing.

This may change at a later date when beatmap submission is integrated
into lazer - the idea is that online IDs would get re-populated on local
beatmaps once they are submitted to web.
2023-05-01 19:08:41 +02:00
Bartłomiej Dach
8ab3a87b13
Add failing test case covering online ID reset on save
This test scene passes at e58e1151f3 and
fails at current master, due to an inadvertent regression caused by
e72f103c17.

As it turns out, the online lookup flow that was causing UI thread
freezes when saving beatmaps in the editor, was also responsible for
resetting the online ID of locally-modified beatmaps if online lookup
failed.
2023-05-01 18:17:35 +02:00
OliBomby
dbb2a8980b add test 2023-05-01 15:56:23 +02:00
Terochi
4d52ce769b Revert SaveState() calling on initialization 2023-05-01 12:53:58 +02:00
OliBomby
608fa3cc73 Merge remote-tracking branch 'upstream/master' into sample-control-points 2023-04-30 19:47:03 +02:00