1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 18:27:31 +08:00
Commit Graph

10289 Commits

Author SHA1 Message Date
Dean Herbert
a0bed0fcec Add full flow test of UpdateLocalScores 2023-07-04 15:18:51 +09:00
Dean Herbert
64fc5e40e8 Move score attach logic to a helper method and call during editor save 2023-07-04 15:07:40 +09:00
Dean Herbert
f30dc59afe Update tests to show expected score retention behaviour when saving a beatmap 2023-07-04 15:07:27 +09:00
Dean Herbert
d74b1e148d Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Bartłomiej Dach
21f758947d
Merge branch 'master' into availability-fixes 2023-07-02 20:38:37 +02:00
Bartłomiej Dach
746212be7b
Remove weird .Run(r => r.Write(...)) construction 2023-07-01 20:42:34 +02:00
Bartłomiej Dach
b6e9422aa4
Fix typo in test name 2023-07-01 20:38:00 +02:00
Bartłomiej Dach
1ce60378be
Rewrite comments further 2023-07-01 20:37:33 +02:00
Cootz
8d25e2c3e1 Add importer update test 2023-07-01 09:49:06 +03:00
Cootz
2b1d637292 Add missing ruleset store 2023-07-01 09:48:42 +03:00
Cootz
f5d3a24582 Rename test 2023-06-30 20:15:38 +03:00
Cootz
428383708c Add test for import 2023-06-30 20:13:14 +03:00
Dean Herbert
537404440d Set the beatmap locally available for participants list tests 2023-06-29 13:17:42 +09:00
Bartłomiej Dach
0940ab1e11
Add failing tests covering correct flip handling 2023-06-28 20:48:02 +02:00
Dean Herbert
3883c28b15 Add visual display in participants list when availability is still being established 2023-06-28 16:02:46 +09:00
Dean Herbert
1d4380cfd0
Merge pull request #24058 from peppy/full-term-exact-match
Add support for matching full terms at song select using suffixed `!`
2023-06-28 12:14:15 +09:00
Dean Herbert
bc26d52dbd
Merge pull request #24067 from bdach/fix-difficulties-not-deleting-from-db
Fix delete difficulty flow not actually deleting the difficulty from realm
2023-06-28 12:06:01 +09:00
Dean Herbert
076f41be12
Merge pull request #24059 from peppy/add-editor-rotate-hotkeys
Add support for `Ctrl` + `<` / `>` to rotate selection in editor
2023-06-28 12:03:34 +09:00
Bartłomiej Dach
d72a8da295
Add test coverage for deleted difficulties staying in realm 2023-06-27 23:40:12 +02:00
Bartłomiej Dach
444f71541a
Add test coverage for rotate hotkeys 2023-06-27 22:10:53 +02:00
Bartłomiej Dach
eb6bdb5a38
Merge pull request #23926 from ItsShamed/hud/kc-skinnable
Make key counter skinnable
2023-06-27 21:57:41 +02:00
Bartłomiej Dach
bca1a91087
Add test cases covering full phrase case insensitivity 2023-06-27 21:50:39 +02:00
Bartłomiej Dach
bf99fc61b8
Trim full phrase filters in a more precise manner 2023-06-27 21:50:36 +02:00
Bartłomiej Dach
aba380b001
Add test case for full phrase match mode trimming chars from inside phrase 2023-06-27 21:45:52 +02:00
Bartłomiej Dach
e3d97b37f1
Rename MatchMode.{None -> Substring} 2023-06-27 21:28:37 +02:00
Bartłomiej Dach
06654dc618
Merge branch 'master' into full-term-exact-match 2023-06-27 21:27:39 +02:00
Bartłomiej Dach
7052f87eb8
Add even more safety against unloaded components 2023-06-27 21:21:14 +02:00
Bartłomiej Dach
11577d1df0
Add test coverage for title query parsing 2023-06-27 20:41:03 +02:00
Bartłomiej Dach
af66ccbfdf
Merge branch 'master' into hud/kc-skinnable 2023-06-27 20:35:47 +02:00
Bartłomiej Dach
9681ee7eeb
Fix broken test step 2023-06-27 20:29:27 +02:00
Bartłomiej Dach
ada9c48bde
Attempt to fix more test failures 2023-06-27 20:17:58 +02:00
Dean Herbert
8bd6f7a46a Rename ClicksPerSecondCalculator to ClicksPerSecondController 2023-06-27 16:38:46 +09:00
Dean Herbert
e21583ff1b Refactor InputCountController to not require being added to foreign body via Attach
I've made the flow match `ClicksPerSecondCalculator` as close as
possible. Hopefully this reads better.
2023-06-27 16:36:00 +09:00
Dean Herbert
e99de0eb5d Add safety to tests to ensure loaded 2023-06-27 16:04:34 +09:00
Dean Herbert
19ec6d5455 Add test coverage of new matching mode 2023-06-27 15:44:58 +09:00
Dean Herbert
702266198b Add missing "title=" search support at song select 2023-06-27 15:21:13 +09:00
Bartłomiej Dach
9c87d42f2b
Attempt to remedy HUD overlay test failure by waiting more 2023-06-26 22:41:31 +02:00
Bartłomiej Dach
e998be0eee
Use == true rather than ?? false 2023-06-26 22:29:20 +02:00
Bartłomiej Dach
4873aaf7ed
Add failing test case for filters potentially crashing due to invalid regex 2023-06-26 22:27:08 +02:00
Bartłomiej Dach
7200855d46
Rename Judgement{Tally -> CountController} 2023-06-26 19:30:04 +02:00
Bartłomiej Dach
8d91580dc1
Rename {KeyCounter -> InputCount}Controller 2023-06-26 19:27:42 +02:00
Dean Herbert
1960cd0839 Add test coverage of exact matching of search terms 2023-06-26 18:26:44 +09:00
Dean Herbert
14c95f4584 Apply NRT to FilterCriteria 2023-06-26 17:54:11 +09:00
Dean Herbert
0c869367e1
Merge branch 'master' into hud/kc-skinnable 2023-06-26 15:53:16 +09:00
Dean Herbert
ac0c988d49 Fix weirdly named test method and add xmldoc 2023-06-26 13:21:29 +09:00
Joseph Madamba
25c9bf4061
Improve and refactor LoginPanel test scene to use LoginOverlay 2023-06-25 11:39:32 -07:00
tsrk
350d722c8d
Merge branch 'master' into hud/kc-skinnable 2023-06-25 15:42:08 +02:00
Dean Herbert
cf43cd2bdc Rename test scene to match updated class name 2023-06-25 21:26:10 +09:00
Bartłomiej Dach
a7202721ff
Merge branch 'master' into no-confirmation-on-update-restart 2023-06-25 13:35:21 +02:00
Bartłomiej Dach
25842105ce
Merge pull request #23976 from peppy/gameplay-sample-trigger-source-correctness
Adjust `GameplaySampleTriggerSource` to only switch samples when close enough to the next hit object
2023-06-25 08:23:55 +02:00
Bartłomiej Dach
f8d2f2f7e1
Fix more issues discovered by CI that can be fixed game-side 2023-06-24 19:04:05 +02:00
Bartłomiej Dach
d7ae430ec2
Merge branch 'master' into framework-update 2023-06-24 18:47:52 +02:00
Bartłomiej Dach
e273c223a8
Fix some more missed CI inspections 2023-06-24 17:11:38 +02:00
Bartłomiej Dach
e3a89a6273
Fix remaining obvious CI inspections 2023-06-24 16:07:01 +02:00
Dean Herbert
2bda63c2c8 Merge branch 'master' into mass-nrt 2023-06-24 09:59:15 +09:00
Dean Herbert
58e6b3782b Fix a couple of remaining issues 2023-06-24 09:58:36 +09:00
Dean Herbert
3585c3f1d5 Apply required nullability changes 2023-06-24 09:58:36 +09:00
Salman Ahmed
c5771912db
Merge branch 'master' into tournament-chatcolor 2023-06-23 22:23:33 +03:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
1dc7c05c12
Merge branch 'master' into no-confirmation-on-update-restart 2023-06-23 15:33:01 +09:00
Dean Herbert
a76037b643 Add test coverage of confirm-for-operations 2023-06-23 15:30:21 +09:00
Dean Herbert
7fa07805b0 Expose all notifications from INotificationOverlay
Also fixes `HasOngoingOperations` not actually working.
2023-06-23 15:19:21 +09:00
Dean Herbert
6df617d536 Rename ExitConfirmOverlay to be more explicit about purpose 2023-06-23 14:46:38 +09:00
Dean Herbert
11a97e1bb8 Move confirmation bypass implementation to MainMenu to allow for more correct logic 2023-06-23 14:42:56 +09:00
Bartłomiej Dach
2c1c20e0a7
Rename test helpers 2023-06-22 23:10:16 +02:00
Bartłomiej Dach
786deec296
Rename and xmldoc members 2023-06-22 23:00:52 +02:00
Liam DeVoe
6de7328fef add test for comment when logging in and out 2023-06-21 02:17:51 -04:00
Liam DeVoe
dd4f271158 fix cancel test for new button layout 2023-06-21 02:15:02 -04:00
Bartłomiej Dach
2f77675fe7
Fix errors in tests due to mismatching NRT annotations 2023-06-20 21:57:32 +02:00
Dean Herbert
92e89c7df7 Update test expectations 2023-06-20 21:02:34 +09:00
Dean Herbert
04dad6c6e8 Use IGameplayClock to ensure our clock source is correct 2023-06-20 20:47:56 +09:00
Liam DeVoe
343052410b update CommentEditor test components 2023-06-19 22:08:45 -04:00
Ruki
9c6c6bf1ea
Merge branch 'master' into hud/kc-skinnable 2023-06-18 18:30:44 +02:00
tsrk
886a1e98da
test(SkinDeserialisationTest): use more complete skin 2023-06-18 17:32:49 +02:00
Bartłomiej Dach
75300ca229
Switch search box to initially unfocused
Done primarily to keep mod hotkeys working without any behavioural
changes when mod select is opened.
2023-06-18 15:58:50 +02:00
Bartłomiej Dach
9ba4bf5fb7
Merge branch 'master' into add-mod-search-option 2023-06-18 15:06:21 +02:00
Bartłomiej Dach
0b6c0592e4
Add failing test case for mod preset filtering not working after ruleset change 2023-06-18 14:51:16 +02:00
Bartłomiej Dach
b9156b1df3
Reword/rename some stuff in test 2023-06-18 14:24:35 +02:00
Bartłomiej Dach
76f509a1db
Do not use ?? true pattern
Universally disliked. `!= false` is preferred.
2023-06-18 14:19:38 +02:00
Bartłomiej Dach
9758e5f840
Fix utterly broken test
- Was on wrong ruleset, so the mod/free mod sets did literally nothing
- `assertHasFreeModButton` had a param that did nothing
- Was checking `MatchingFilter` rather than `Visible`
2023-06-18 14:16:38 +02:00
Dean Herbert
eb31fdecee Apply osu! side changes in line with FocusedOverlayContainer.PopIn abstract change
See https://github.com/ppy/osu-framework/pull/5834
2023-06-18 20:57:32 +09:00
Joseph Madamba
9ae864c219
Fix beatmap info length tooltip not showing actual drain length 2023-06-17 15:00:32 -07:00
tsrk
61101335cc
test: fix KeyCounterController not provided as a dependency 2023-06-16 19:00:09 +02:00
tsrk
b9d6ba1934
test: add skin deserialisation test resource 2023-06-16 18:26:30 +02:00
tsrk
f9321a24d9
test: change hideTarget drawable and testing logic
Doesn't change what it needs to test conceptually
2023-06-16 17:24:40 +02:00
Ruki
aba8219d06
Merge branch 'master' into hud/kc-skinnable 2023-06-15 15:48:43 +02:00
tsrk
7e70598773
test: move back key counter tests in ctor 2023-06-15 12:02:30 +02:00
Salman Ahmed
b9543f4fdd Add failing test case 2023-06-15 11:21:52 +03:00
tsrk
42b740a175
Merge branch 'master' into hud/kc-skinnable 2023-06-14 22:19:45 +02:00
tsrk
c637fddf73
refactor: decouple Trigger logic from KeyCounterDisplay
This allows to keep a coeherent state regardless of the progress of the play
2023-06-14 21:13:35 +02:00
tsrk
758831b983
test: remove hard usages of KeyCounterDisplay 2023-06-14 13:25:24 +02:00
cdwcgt
51451bd53e
fix test 2023-06-14 01:32:27 +09:00
cdwcgt
430938fbb2
allow custom username color for chatLine
user's color (e.g. green for NAT) will be ignore
2023-06-12 22:07:36 +09:00
Cootz
aece548db1
Merge branch 'master' into add-mod-search-option 2023-06-12 13:09:09 +03:00
Dean Herbert
062fd58602 Add test to known time 2023-06-12 16:43:28 +09:00
Dean Herbert
c9f9569e4a Add ability to change background colour in song progress test scene 2023-06-12 16:22:40 +09:00
Cootz
036479dd9d
Merge branch 'master' into add-mod-search-option 2023-06-09 16:27:18 +03:00
Bartłomiej Dach
58507291b9
Apply NRT in MemoryCachingComponent test-only subclasses 2023-06-09 13:48:42 +02:00
Bartłomiej Dach
4b3b22f046
Merge branch 'master' into beat-divisor-better-defaults 2023-06-08 20:35:03 +02:00
Dean Herbert
0875fc6233 Update tests in line with new behaviour 2023-06-09 02:28:38 +09:00
Bartłomiej Dach
281aae91ec
Merge pull request #23808 from peppy/working-beatmap-get-background
Refactor `IWorkingBeatmap.Background` to `GetBackground()`
2023-06-08 12:23:07 +02:00
Bartłomiej Dach
079e687bee
Fix incorrect mock setup after refactor 2023-06-08 10:09:27 +02:00
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
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03: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
Olivier Schipper
3f7bebfda4
Merge branch 'master' into edit-nodesample 2023-06-02 00:57:15 +02:00
OliBomby
acd8ff9a24 revert add sample point piece tests 2023-06-02 00:42:36 +02:00
OliBomby
035163a792 add new behaviour tests to TestSceneHitObjectSampleAdjustments 2023-06-02 00:40:00 +02:00
OliBomby
3110f87831 Revert "Add PopoverContainer to TimelineTestScene"
This reverts commit 8acfe6b58b.
2023-06-01 18:48:12 +02:00
Dean Herbert
bcde2cbc73 Apply NRT to BeatDivisorControl 2023-06-01 16:58:14 +09:00
OliBomby
e709390052 reset popover at the end of sample tests 2023-06-01 09:00:59 +02:00
OliBomby
aa52d86ea3 add nodesample piece test 2023-06-01 08:12:39 +02:00
OliBomby
2812b23457 Add sample point piece test 2023-06-01 08:03:41 +02:00
OliBomby
8acfe6b58b Add PopoverContainer to TimelineTestScene 2023-06-01 07:41:30 +02: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
Dean Herbert
a789d1e49c Add xmldoc and change naming around ScoreProcessorStatistics a bit 2023-05-29 18:38:16 +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