Dan Balasescu
c4b9b2a14b
Merge branch 'master' into irenderer-glwrapper
2022-08-05 20:35:06 +09:00
Dean Herbert
7c952f8069
Add more test coverage of locally-modified state change
2022-08-05 14:25:10 +09:00
Dan Balasescu
0de00e9b3f
Don't serialise empty mod settings
2022-08-05 14:00:53 +09:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class
2022-08-05 04:17:01 +02:00
Dan Balasescu
c11a24b3ff
Remove unused using
2022-08-04 15:05:52 +09:00
Dan Balasescu
6632367c6d
Ensure skin samples are looked up in correct order
2022-08-04 14:48:12 +09:00
Bartłomiej Dach
ac9321204c
Merge branch 'master' into mod-overlay/create-preset
2022-08-03 21:21:52 +02:00
Dean Herbert
7022d9e5f8
Fix test step names being too long
2022-08-03 21:13:49 +09:00
Dean Herbert
bacbf5b7f0
Update existing test expectations
2022-08-03 20:20:06 +09:00
Dean Herbert
24d84890e4
Change all filter control button state test to until steps
...
There's multiple schedules at play which could be adding multi-frame
delays. let's play it safe and try and fix flaky tests.
Example of `Schedule` which could cause an issue:
392cb352cc/osu.Game/Collections/CollectionDropdown.cs (L77-L78)
Example of test failure:
https://github.com/ppy/osu/runs/7648118894?check_suite_focus=true
2022-08-03 20:03:07 +09:00
Bartłomiej Dach
add2971eb4
Implement preset creation flow with test coverage
2022-08-02 22:05:54 +02:00
Bartłomiej Dach
1b3074d098
Implement popover for creating mod presets
2022-08-02 22:03:33 +02:00
Dan Balasescu
5a1c05918f
Fix test failures
2022-08-02 20:18:45 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dan Balasescu
dc49862466
Merge branch 'irenderer-shaders' into irenderer-textures
2022-08-02 19:25:24 +09:00
Bartłomiej Dach
923d9a4e5f
Add failing assertions to demonstrate autosize failure
2022-08-01 22:04:14 +02:00
Dean Herbert
c0e5f11c90
Merge pull request #19532 from frenzibyte/fix-new-items-sort-stability
...
Fix newly imported beatmaps not using correct comparer for sorting
2022-08-02 02:20:51 +09:00
Dean Herbert
01cc9bd7ef
Merge pull request #19479 from frenzibyte/carousel-update-on-resume
...
Fix song select not updating selected beatmap card on editor resume
2022-08-02 00:48:18 +09:00
Salman Ahmed
682192dbd7
Add failing test case
2022-08-01 18:43:01 +03:00
Salman Ahmed
7c9f8648a5
Merge branch 'master' into remove-nullable-disable-in-the-audio-namespace
2022-08-01 15:25:12 +03:00
Dan Balasescu
d4eec9122f
Merge pull request #19516 from peppy/fix-editor-track-disposal-crash
...
Fix editor potentially playing a track post-disposal
2022-08-01 18:12:21 +09:00
Dan Balasescu
225033c3b2
Merge pull request #19517 from peppy/add-more-missing-realm-refreshres
...
Add more missing realm `Refresh()` calls to new beatmap import tests
2022-08-01 17:54:51 +09:00
Dan Balasescu
1d27c4f020
Merge pull request #19504 from peppy/skin-serialisation-test-coverfage
...
Add test coverage of deserialisation of skin layouts
2022-08-01 17:17:16 +09:00
Dean Herbert
ee68113913
Add more missing realm Refresh()
calls to new beatmap import tests
...
As noticed at https://github.com/ppy/osu/runs/7605101313?check_suite_focus=true
2022-08-01 17:06:46 +09:00
Dean Herbert
2519706ad6
Add test coverage of editor crash
2022-08-01 16:53:49 +09:00
Dan Balasescu
47860bb966
Remove unused using
2022-08-01 16:33:59 +09:00
Dean Herbert
3b6349a145
Add test coverage of remaining components which weren't already included
2022-08-01 14:16:26 +09:00
Dean Herbert
d112743cea
Improve test coverage of skin serialisation to ensure full coverage
...
Will fail when new skinnable components are added until they have
coverage in resources.
2022-08-01 14:04:12 +09:00
Bartłomiej Dach
5a34122a85
Fix test breakage after realm migration
2022-07-31 23:53:46 +02:00
Bartłomiej Dach
9d3cdae4bb
Fix test scene to handle restarts properly
2022-07-31 23:53:46 +02:00
Bartłomiej Dach
9dea8e3d12
Add test coverage of preset soft deletion
2022-07-31 23:53:46 +02:00
Bartłomiej Dach
c837848238
Add extended test coverage of preset realm subscription
2022-07-31 23:53:45 +02:00
Bartłomiej Dach
345f103119
Migrate mod preset column to use realm
2022-07-31 23:53:45 +02:00
Dean Herbert
f9f9b65c86
Add test coverage of deserialisation skin layouts
2022-08-01 01:14:05 +09:00
Dean Herbert
db4c6aa3d3
Add test skin layout json resources
2022-08-01 01:13:47 +09:00
andy840119
5dd641bc60
Remove the nullable disable annotation in the test project.
2022-07-31 22:02:07 +08:00
Salman Ahmed
b95aff3e5f
Add failing test case
2022-07-30 18:50:41 +03:00
Susko3
38a8b9cf0a
Add battery info for desktop platforms
2022-07-30 14:26:19 +02:00
Dean Herbert
43e612f6d4
Merge pull request #19455 from peppy/confirm-playlist-discard
...
Add confirmation dialog when about to discard a playlist
2022-07-30 19:17:49 +09:00
Salman Ahmed
8ca8484f0e
Fix failing tests
2022-07-30 11:49:33 +03:00
Salman Ahmed
ec1a7994cc
Switch method to statement body for better readability
...
Almost thought the method was not wrapped in an `AddStep`.
2022-07-30 10:11:01 +03:00
Salman Ahmed
0c125db197
Fix potential nullref on TestSceneAutoplay
check steps
2022-07-30 10:11:01 +03:00
Dan Balasescu
e06f39a69f
Apply IRenderer shader changes
2022-07-30 01:29:11 +09:00
Salman Ahmed
3bc1774c87
Merge branch 'master' into pie-chart-progress
2022-07-29 16:54:59 +03:00
Salman Ahmed
3b1a76b190
Remove redundant/overwritten specifications
2022-07-29 16:45:29 +03:00
Salman Ahmed
905bbdc8ee
Remove caching of GameplayClockContainer
in favour of GameplayClock
...
Also fixes `SongProgress` being displayed in skin editor on non-gameplay
screens, due to `GameplayClock` not marked as a required dependency.
2022-07-29 16:45:29 +03:00
Dan Balasescu
6703b8df02
Merge pull request #19454 from peppy/filter-control-tests-realm-refresh
...
Ensure realm is in a good state before asserts in `TestSceneFilterControl`
2022-07-29 17:57:38 +09:00
Dean Herbert
07e3765b34
Ensure collection is added to dropdown before trying to click it
2022-07-29 17:25:30 +09:00
Dean Herbert
0a2265b0e8
Add test coverage of playlist exit confirmation
2022-07-29 17:11:37 +09:00
Dean Herbert
eb92c35335
Merge pull request #19442 from smoogipoo/fix-beginplaying-misordering
...
Move spectator begin/end playing to SubmittingPlayer
2022-07-29 16:09:50 +09:00
Dean Herbert
e07e761c10
Ensure realm is in a good state before asserts in TestSceneFilterControl
2022-07-29 15:59:53 +09:00
Dan Balasescu
aaa6f963bd
Fix potential test failures due to Setup/SetUpSteps ordering
2022-07-29 15:27:39 +09:00
Ryuki
2df24019fd
Merge branch 'master' into kps
2022-07-28 18:38:09 +02:00
Ryuki
079150849a
Add some tests
2022-07-28 18:37:50 +02:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS
2022-07-28 18:37:12 +02:00
Dean Herbert
45879f7836
Merge pull request #19443 from smoogipoo/fix-intermittent-hud-tests
...
Fix intermittent HUD tests
2022-07-28 23:20:46 +09:00
Dean Herbert
e664690fe2
Remove unnecessary LoadTrack
call
2022-07-28 22:19:46 +09:00
Dean Herbert
3005ff1b9f
Merge branch 'master' into pie-chart-progress
2022-07-28 22:19:27 +09:00
Dan Balasescu
a59d7f6710
Merge branch 'master' into collections-track-beatmap-updates
2022-07-28 22:05:34 +09:00
Dan Balasescu
aa03df905f
Merge pull request #19441 from peppy/test-working-beatmap-unfuck
...
Reduce calls to `LoadTrack` by implicitly running on test/dummy classes
2022-07-28 22:05:25 +09:00
Dan Balasescu
11e0022fad
Merge branch 'master' into realm-collections
2022-07-28 21:00:08 +09:00
Dan Balasescu
ce694123eb
Move spectator begin/end playing to SubmittingPlayer
2022-07-28 20:44:04 +09:00
Dean Herbert
7108553883
Tidy up various things everywhere
2022-07-28 18:25:14 +09:00
Dean Herbert
a21aee4e9c
Reduce calls to LoadTrack
by implicitly running on test/dummy classes
2022-07-28 18:11:40 +09:00
Dan Balasescu
1039338d80
Fix intermittent HUD tests
2022-07-28 17:58:07 +09:00
Dan Balasescu
1da9830145
Merge pull request #19435 from peppy/remove-beatmap-manager-ruleset-store
...
Remove unused `RulesetStore` from `BeatmapManager` constructor
2022-07-28 17:46:12 +09:00
Dan Balasescu
6d4023b933
Adjust comment
2022-07-28 16:56:11 +09:00
Dan Balasescu
cd01c5d3ac
Fix assertion
2022-07-28 16:34:31 +09:00
Nitrous
0d36907cad
apply code quality fixes
2022-07-28 15:30:45 +08:00
Nitrous
70ed347b06
simplify helper methods
2022-07-28 15:19:35 +08:00
Dean Herbert
2b9d46d803
Remove unused RulesetStore
from BeatmapManager
constructor
2022-07-28 16:19:05 +09:00
Nitrous
db62d4be3a
apply suggestions
...
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Dan Balasescu
6bf293e130
Fix managed object reused between test runs
2022-07-28 15:45:33 +09:00
Dean Herbert
8ac886a247
Update test to account for sort order
2022-07-28 15:20:25 +09:00
Dean Herbert
67c44552cb
Add realm Refresh
calls to ensure tests are stable
2022-07-28 15:18:04 +09:00
Dean Herbert
485d140a21
Add realm refresh calls to fix intermittent test failures on new update tests
2022-07-28 15:15:41 +09:00
Dean Herbert
2ae5a34c0e
Add test coverage of beatmap updates transferring collection hashes
2022-07-28 15:02:58 +09:00
Dean Herbert
ad482b8afc
Tidy up naming of collection dropdowns
2022-07-28 13:57:21 +09:00
Dean Herbert
34a2d1a6e1
Fix ManageCollectionsDialog
and remove weird placeholder logic
2022-07-28 13:57:21 +09:00
Dean Herbert
67c7f324ee
Simplify CollectionFilterDropdown
filter flow weirdness
2022-07-28 13:57:21 +09:00
Dean Herbert
0913cf013c
Split out tests and fix variable conflict
2022-07-28 13:24:14 +09:00
Dean Herbert
aa65b73f19
Merge branch 'master' into add-notif-externalbutton
2022-07-28 12:17:36 +09:00
Dean Herbert
8da499fb0f
Add proper test coverage
2022-07-28 12:16:21 +09:00
Nitrous
9088caa377
move LegacyComboCounter
to osu.Game.Skinning
2022-07-28 08:36:26 +08:00
Dean Herbert
438067a18b
Convert realm data propagation to more correctly use Live<T>
...
wip
2022-07-27 19:35:09 +09:00
Dean Herbert
41393616d8
Replace BeatmapCollection
with RealmBeatmapCollection
2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48
Remove CollectionManager
2022-07-27 18:45:33 +09:00
Nitrous
6af6f03e29
refactor song progress test scene
2022-07-27 15:57:47 +08:00
Nitrous
1e013bd4e9
move song progress graph to its own test scene
2022-07-27 15:57:23 +08:00
Dean Herbert
494486ad09
Fix potential test failure if scores are added to the beatmap which is subsequently removed
2022-07-27 16:27:10 +09:00
Nitrous
37e642b0bd
make SongProgress
abstract
...
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Dean Herbert
6b73f7c7ec
Split out legacy import path from realm manager
2022-07-27 15:04:09 +09:00
Dan Balasescu
8f7dff5c2c
Merge pull request #19378 from peppy/beatmap-update-test
...
Add separate beatmap update flow to handle edge cases better
2022-07-26 18:49:20 +09:00
Dean Herbert
6ff44ed2c6
Merge pull request #19399 from frenzibyte/carousel-order-stability
...
Maintain sort stability by using carousel item ID as a fallback
2022-07-26 17:33:30 +09:00
Dean Herbert
7f75184a01
Merge branch 'master' into beatmap-update-test
2022-07-26 17:27:36 +09:00
Dean Herbert
ee694c1257
Add test coverage of no online ID scenario
2022-07-26 17:27:23 +09:00
Dean Herbert
1221cb1a42
Add comprehensive test coverage of update scenarios
2022-07-26 17:22:52 +09:00
Dan Balasescu
28e81b7c32
Merge pull request #19392 from peppy/fix-test-leftovers
...
Avoid leaving left-over files after test run completes
2022-07-26 16:33:14 +09:00
Dean Herbert
846291d203
Refactor new tests to not suck as much as the old importer tests
2022-07-26 16:33:00 +09:00
Salman Ahmed
91ffa7007f
Improve existing test coverage to cover order changes from other sort modes
2022-07-26 10:24:51 +03:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Dean Herbert
4efe09e7c2
Merge pull request #19377 from frenzibyte/fix-timeline-tests
...
Fix intermittent timeline zoom test failures
2022-07-26 15:18:35 +09:00
Dean Herbert
ac553d22ea
Fix left over resource file which isn't actually imported
2022-07-26 15:08:18 +09:00
Dean Herbert
59d3cc52c4
Avoid leaving left-over files after test run completes
2022-07-26 15:08:18 +09:00
Dean Herbert
7d8a78ef01
Move tests to own class
2022-07-26 14:53:20 +09:00
Dean Herbert
ef10145d6f
Rename MenuCursorContainer
and clean up code
2022-07-26 14:11:52 +09:00
Salman Ahmed
e5355f314d
Use longer hash string
2022-07-25 15:19:32 +03:00
Dean Herbert
9c411c2250
Fix test nullability assertions
2022-07-25 20:06:37 +09:00
Dean Herbert
92dd1bcddb
Add test coverage of actual update flow
2022-07-25 19:51:19 +09:00
Dean Herbert
2e14d8730c
Move implementation of updating a beatmap to BeatmapImporter
2022-07-25 19:51:19 +09:00
Dean Herbert
6a3e8e31de
Centralise calls to reset online info of a BeatmapInfo
2022-07-25 19:51:19 +09:00
Dean Herbert
ec477a3ebf
Add basic coverage of current behaviour of beatmap reimport
2022-07-25 19:51:19 +09:00
Salman Ahmed
1b6ebcfd87
Remove SubmittableScore
and replace with SoloScoreInfo
extension method
2022-07-25 13:43:43 +03:00
Salman Ahmed
d04df19c7e
Remove APIScore
and replace its final usage
2022-07-25 13:13:46 +03:00
Dan Balasescu
068063a43a
Merge pull request #19371 from peppy/fix-working-cache-invalidation
...
Fix calls to `GetWorkingBeatmap` invalidating cache too often
2022-07-25 18:29:46 +09:00
Dan Balasescu
1d48cee230
Merge pull request #19373 from peppy/fix-negative-star-rating-display
...
Fix star ratings which are still being calculated showing as "-1" at song select
2022-07-25 18:20:30 +09:00
Salman Ahmed
bc2b629ee7
Let tests wait until track load before testing zoom
2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b
Refactor ZoomableScrollContainer
to allow setting up zoom range and initial zoom after load
2022-07-25 12:07:50 +03:00
Salman Ahmed
93175eaf6e
Re-enable timeline zoom test and remove flaky attribute
2022-07-25 11:39:23 +03:00
Dean Herbert
6bf2645b1a
Fix StarRatingDisplay
not handling negative numbers as "pending"
2022-07-25 15:44:54 +09:00
Salman Ahmed
6bdd1f43a2
Add visual test coverage
2022-07-25 09:40:20 +03:00
Dean Herbert
bbbc0a863f
Add test coverage of WorkingBeatmap
retrieval from BeatmapManager
2022-07-25 15:30:49 +09:00
Salman Ahmed
7facd6d822
Merge branch 'master' into beatmap-overlay-null-pp
2022-07-25 07:38:59 +03:00
Salman Ahmed
6c95c49da3
Mark test score with null PP for visual testing
2022-07-25 07:31:52 +03:00
Dan Balasescu
0226b358ee
Disable timeline test for now
2022-07-25 13:20:33 +09:00
Dean Herbert
12e2e63a1c
Merge pull request #19349 from bdach/mod-overlay/presets-column
...
Implement basic appearance of mod preset column
2022-07-25 13:10:47 +09:00
Salman Ahmed
fa9daa6899
Fix TestSceneReplayRecorder
not using score provided by gameplay state
2022-07-25 05:21:27 +03:00
Salman Ahmed
feef16b09b
Add potentially failing test case
2022-07-25 04:18:30 +03:00
Bartłomiej Dach
6a67d76d7c
Add basic mod preset column implementation
2022-07-24 16:39:04 +02:00
Salman Ahmed
0c16ef3e2e
Add failing test case
2022-07-24 08:34:24 +03:00
solstice23
ea97122425
Separate positive and negative test cases
2022-07-23 21:47:51 +08:00
solstice23
63210d5662
Merge branch 'master' into search-filter
2022-07-23 18:13:53 +08:00
solstice23
3f2c341369
Simplify length parsing
2022-07-23 18:13:19 +08:00
Salman Ahmed
2829a7e836
Merge branch 'master' into beatmap-overlay-modded-stats
2022-07-23 10:38:13 +03:00
Salman Ahmed
c937c0548e
Add test coverage
2022-07-23 10:16:11 +03:00
Salman Ahmed
3aecd288e2
Enable NRT on TopLocalRank
2022-07-23 09:27:03 +03:00
Salman Ahmed
727fe76b60
Fix TopLocalRank
hacking around presence to hide on null rank
...
Fixed this here because that blocks `Schedule` from running, and I don't
want to add another override to the `IsPresent` flag.
2022-07-23 09:22:22 +03:00
Salman Ahmed
1220250bb6
Improve test scene and add failing test case
2022-07-23 08:03:48 +03:00
Bartłomiej Dach
d0e15d04cc
Merge branch 'master' into mod-overlay/preset-panel
2022-07-22 19:23:09 +02:00
Dan Balasescu
d9105c9785
Merge pull request #19272 from peppy/beatmap-background-reprocessing
...
Add background beatmap processing
2022-07-22 20:33:26 +09:00
Dean Herbert
63fe4f265f
Merge pull request #19263 from frenzibyte/fix-failed-score-statistics
...
Populate failed scores with "miss" results for all remaining hitobjects
2022-07-22 20:16:16 +09:00
Dan Balasescu
6b69ff19c8
Remove unused using
2022-07-22 17:24:46 +09:00
Salman Ahmed
e5ab6652fd
Fix one more case of referencing old mod select overlay in tests
2022-07-22 11:12:24 +03:00
Dean Herbert
e20458421a
Update flaky timeline zoom test to output something useful
2022-07-22 16:05:20 +09:00
solstice23
7c222505e9
Simplify length parsing
2022-07-22 14:24:17 +08:00
solstice23
80e82763e3
Add negative test cases
2022-07-22 12:09:47 +08:00
Bartłomiej Dach
bdff7f1ef4
Implement basic appearance of mod preset panels
2022-07-21 23:29:21 +02:00
solstice23
de25830b2b
Add more test cases
2022-07-22 03:27:08 +08:00
solstice23
0dcb3644f5
Merge branch 'master' into search-filter
2022-07-22 01:32:25 +08:00
solstice23
52fad1e14d
Add test cases for search length criteria
2022-07-21 18:59:48 +08:00
Dean Herbert
1374738a0d
Add test coverage
2022-07-21 18:20:46 +09:00
Salman Ahmed
559254db31
Merge branch 'master' into fix-update-button-test-failure
2022-07-21 11:15:43 +03:00
Dan Balasescu
defadeef47
Merge pull request #19250 from peppy/fps-counter
...
Add game-side FPS counter
2022-07-21 16:26:38 +09:00
Dean Herbert
fc0c9f76bd
Fix UpdateBeatmapSetButton
intermittent test failure
...
Carousel would only expire items when off-screen. This meant that for a
case (like a test) where items are generally always on-screen,
`UpdateBeatmapSet` calls would result in panels remaining hidden but not
cleaned up.
2022-07-21 16:24:48 +09:00
Salman Ahmed
9df49db45f
Include bonus/ignore judgements in statistics fill logic
2022-07-21 08:13:09 +03:00
Salman Ahmed
5513a8b6b4
Fix changelog overlay tests failing due to missing CreatedAt
date
2022-07-21 07:21:27 +03:00
Salman Ahmed
3c2a885872
Add test coverage
2022-07-21 06:01:48 +03:00
Dean Herbert
0c3d43026d
Add initial structure for fps counter
2022-07-20 23:49:19 +09:00
Dean Herbert
62133fa069
Merge pull request #19246 from frenzibyte/fix-wiki-navigation
...
Fix wiki overlay not handling path redirection properly
2022-07-20 20:08:11 +09:00
Dan Balasescu
d2a3c2594d
Fix inspections
2022-07-20 16:33:52 +09:00
Dan Balasescu
f9c02c34b6
Merge branch 'master' into beatmap-update-online-flow
2022-07-20 15:15:51 +09:00
Salman Ahmed
e7f35701db
Add failing test case
2022-07-20 09:06:11 +03:00
Dean Herbert
af4d7feb9b
Merge pull request #19244 from frenzibyte/highlight-perfect-ticks
...
Highlight perfect slider tick/end values in beatmap info leaderboards
2022-07-20 14:44:03 +09:00
Dan Balasescu
6c0d7f8099
Merge pull request #19235 from andy840119/remove-nullable-disable-in-the-mods
...
Remove nullable disable annotation in the mods.
2022-07-20 14:39:32 +09:00
Dan Balasescu
ebb9861377
Merge branch 'master' into remove-nullable-disable-in-the-mods
2022-07-20 13:28:28 +09:00
Salman Ahmed
ae6aab2555
Merge branch 'master' into edit-map-carousel
2022-07-20 02:43:47 +03:00
Salman Ahmed
4d1f9a1329
Adjust test scene to cover slider ticks
2022-07-20 00:53:10 +03:00
為什麼
2a83404dbe
Use array.empty instead of null value.
2022-07-19 20:39:41 +08:00
為什麼
ee7e7f2d3a
Mark the property as non-nullable.
2022-07-19 20:39:41 +08:00
為什麼
d9addebc93
Remove the nullable disable annotation in the test project and fix the api broken.
2022-07-19 20:39:41 +08:00
Dean Herbert
6357223341
Fix incorrect DI fetch and apply nullability to ModelDownloader
2022-07-19 20:06:34 +09:00
Dean Herbert
17046b0553
Add basic handling of download failures
2022-07-19 19:01:23 +09:00
Dean Herbert
f6de76e057
Move test to stand-alone class and add full ui testing
2022-07-19 18:50:27 +09:00
Dean Herbert
eaf4f6dbb7
Add beatmap update button
2022-07-19 18:29:36 +09:00
Adam Baker
59018ab5ba
Fix multiplayer queue edit button opening to the wrong beatmap
2022-07-18 23:21:16 -05:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Bartłomiej Dach
ffa9a83a4f
Add own fixed copy of defective Humanizer methods
2022-07-18 21:37:31 +02:00
Dean Herbert
e14e2cca45
Merge pull request #19212 from peppy/fix-audio-equality-fuck
...
Fix audio/background equality not correctly using `BeatmapInfo` local filenames
2022-07-18 19:28:51 +09:00
Dean Herbert
18da9ddfbf
Add test coverage of two beatmaps in same set with different audio files
2022-07-18 17:05:21 +09:00
Salman Ahmed
b5c7d07ba8
Merge branch 'master' into fix-user-profile-overlay
2022-07-18 10:27:33 +03:00
Dean Herbert
a7f19cc796
Merge pull request #19137 from frenzibyte/country-enum
...
Replace `Country` class with enumeration
2022-07-18 16:12:24 +09:00
Salman Ahmed
018da74fe8
Replace default
with CountryCode.Unknown
2022-07-18 08:54:35 +03:00
Salman Ahmed
cf99849478
CountryCode.XX
-> CountryCode.Unknown
2022-07-18 08:45:54 +03:00
Salman Ahmed
100c53f9ef
Country
-> CountryCode
2022-07-18 08:40:34 +03:00
tsunyoku
d1c60b5741
correct assertion logic
2022-07-17 23:53:35 +01:00
tsunyoku
d17acd0f45
add message to Assert.That
2022-07-17 23:16:27 +01:00
tsunyoku
92513dc936
reverse IsInstanceOfType logic
2022-07-17 22:49:09 +01:00
tsunyoku
0c50931d2f
change method of finding incompatibleMod
2022-07-17 22:10:35 +01:00
tsunyoku
dcce14ae8f
rename NoConflictingModAcronyms
to ModValidity
, add test for two-way mod incompatibility
2022-07-17 21:15:29 +01:00
tsunyoku
14ae183c70
update tests to match SoloScoreInfo
2022-07-17 14:22:46 +01:00
tsunyoku
71a4b8843f
update tests to new profile score format
2022-07-17 14:08:44 +01:00
Dean Herbert
acd5254f51
Add test coverage ensuring unique acronyms
2022-07-16 17:19:55 +09:00
Salman Ahmed
e62049f4a9
Update various usages of Country
inline with new enum
2022-07-16 05:04:24 +03:00
Salman Ahmed
68afb65aff
Move default state steps to SetUp
rather than duplicating per test case
2022-07-15 22:10:21 +03:00
Salman Ahmed
8f7b3cf11a
Merge branch 'master' into Save-Score-Failed
2022-07-15 22:10:19 +03:00
Dean Herbert
21433d4ecb
Add test coverage of saving a failed score
2022-07-15 20:14:58 +09:00
Dean Herbert
4b253f83c3
Fix intermittent test failures due to randomised score statistics
2022-07-15 17:39:08 +09:00
Dan Balasescu
c1dd1cfead
Merge pull request #19082 from peppy/api-solo-score-model
...
Add and consume `SoloScoreInfo`
2022-07-15 15:20:18 +09:00
Salman Ahmed
0bafafd63b
Remove unnecessary test coverage
...
RIP hours.
2022-07-15 03:20:52 +03:00
Salman Ahmed
be69514002
Fix CollectionManager
opening file multiple times across test scene
2022-07-14 06:21:23 +03:00
Salman Ahmed
cb2f0b8c67
Add test coverage for collection items
2022-07-14 03:42:03 +03:00
Salman Ahmed
9ec4fbb86d
Add test coverage for details item
2022-07-14 03:41:47 +03:00
Salman Ahmed
099a7e90d6
Centralise creation of playlist in test scene
2022-07-14 02:19:30 +03:00
Salman Ahmed
102d0415f1
Merge branch 'master' into drawable-playlist-item-collection
2022-07-14 00:10:49 +03:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
...
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
2e86e7ccee
Add extra steps to TestExitWithoutSave
to guarantee track type
2022-07-13 19:41:46 +09:00
Dean Herbert
c6b6f41b71
Add test coverage of AudioEquals
2022-07-13 19:41:38 +09:00
Dean Herbert
4b96d74b0c
Add test coverage of LastPlayed
updating
2022-07-13 16:43:43 +09:00
Dan Balasescu
363e23c251
Use correct HitResult in test
2022-07-12 18:47:44 +09:00
Dean Herbert
0fe3bac173
Store mods to array and update test scenes
2022-07-12 18:00:25 +09:00
Dean Herbert
779d512b44
Merge branch 'master' into mod-icon-colors
2022-07-12 14:36:55 +09:00
Dean Herbert
90fecbc9c7
Add test showing all mod icons for reference
2022-07-12 14:32:39 +09:00
Dean Herbert
aac3c166de
Merge pull request #19038 from novialriptide/replay-user-bug-fix
...
Populate user ID for locally imported scores
2022-07-12 13:55:11 +09:00
Dan Balasescu
3ca10ac02c
Merge pull request #19063 from Joehuu/fix-samples-cancel-exit
...
Fix editor playing object samples while paused after cancelling exit
2022-07-12 12:51:27 +09:00
為什麼
079fcf13a6
Add missing import.
2022-07-12 09:41:03 +08:00
andy
3dbd0c9055
Update osu.Game.Tests/Visual/Editing/TimelineTestScene.cs
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-12 09:37:16 +08:00
Bartłomiej Dach
cca208b3c7
Merge branch 'master' into replay-user-bug-fix
2022-07-11 21:51:09 +02:00
Salman Ahmed
09bfca4e4a
Fix build failing on tests
2022-07-11 21:45:39 +03:00
Dean Herbert
44d2e001ed
Update various dependencies
2022-07-11 20:16:49 +09:00
Joseph Madamba
6220650ea3
Fix dialog overlay not loading in time for headless test
2022-07-11 02:29:56 -07:00
Dean Herbert
958c0fb390
Remove Appveyor.TestLogger
2022-07-11 15:01:16 +09:00
為什麼
8e1ed1c621
Mark CreateHitObjectComposer() accept null.
...
And add the null check in the test case.
2022-07-10 10:15:27 +08:00
Joseph Madamba
5fcc4bf713
Add failing sample playback disabled check
2022-07-09 12:10:18 -07:00
Salman Ahmed
667b1d795d
Ensure score has custom ruleset
2022-07-08 19:15:03 +03:00
Salman Ahmed
8c7aabccb0
Fix custom legacy ID in test scene not overriding base value
2022-07-08 19:01:21 +03:00
Dean Herbert
ac3cdf103a
Fix test not failing against master
2022-07-08 19:17:51 +09:00
Dean Herbert
5651eca06c
Merge branch 'master' into custom-ruleset-score-import
2022-07-08 19:03:47 +09:00
Dean Herbert
3c8f06403c
Make test work properly
2022-07-08 19:03:26 +09:00
Dan Balasescu
26d88aa326
Fix intermittent MusicController tests
2022-07-08 14:29:15 +09:00
Dan Balasescu
0bc332e90b
Merge pull request #19029 from peppy/fix-skin-import-duplicate
...
Fix skins potentially being duplicated on batch import
2022-07-08 14:18:14 +09:00
Salman Ahmed
67fa15f231
Remove no longer required context menu container in ParticipantsList
2022-07-08 01:42:55 +03:00
Dean Herbert
c53dd4a703
Fix editor saving not updating BeatmapSetInfo
's hash
2022-07-08 02:33:14 +09:00
Salman Ahmed
cd4755fbd9
Add test coverage for batch-import path
2022-07-07 18:06:35 +03:00
Dan Balasescu
f109e510ce
Merge branch 'master' into metadata-client
2022-07-07 19:45:52 +09:00
Dan Balasescu
7086779cf4
Merge pull request #19026 from peppy/async-track-operations
...
Use fire-and-forget async operations on global track
2022-07-07 19:45:03 +09:00
Dean Herbert
bf10f2db2e
Add test coverage of nested rollback for good measure
2022-07-07 18:19:01 +09:00
Dean Herbert
ac216d94a8
Fix transaction not being disposed
2022-07-07 18:15:38 +09:00
Dean Herbert
dd5b127fb5
Update various tests to enable NRT to avoid new inspection failures
2022-07-07 17:51:49 +09:00
Dean Herbert
57b2f8189c
Add back test workaround for TestScenePlayerScoreSubmission
with updated explanation
...
This reverts commit f88e2aa025
.
2022-07-07 17:42:03 +09:00
Dean Herbert
79bed0abdf
Merge branch 'realm-nested-writes' into metadata-client
2022-07-07 17:37:06 +09:00
Dean Herbert
5197d0fa9e
Add automatic transaction handling to realm helper methods
2022-07-07 17:36:25 +09:00
Dean Herbert
b663986b9f
Add test coverage of locally available without replay button handling
2022-07-07 17:04:04 +09:00
Dean Herbert
461d133c1f
Add test coverage of score importing
2022-07-07 16:43:31 +09:00
Dean Herbert
f88e2aa025
Remove EF test workaround
2022-07-07 15:02:03 +09:00
Salman Ahmed
a5b01b8920
Improve asserts in TestSeekPerformsInGameplayTime
to be more descriptive
2022-07-07 01:00:55 +03:00
Dean Herbert
7053a8507b
Merge pull request #18993 from Joehuu/fix-personal-best-delete-context-menu
...
Fix personal best score showing delete option on context menu
2022-07-06 14:53:35 +09:00
Dean Herbert
59d0bac728
Hook up update flow to metadata stream
2022-07-05 21:32:00 +09:00
Joseph Madamba
f1b55d743c
Fix delete local score test having no files
2022-07-04 11:04:20 -07:00
Dean Herbert
64edc6888d
Add test coverage of corrupt realm creating backup
2022-07-04 16:45:23 +09:00
Dan Balasescu
65917fbb99
Merge pull request #18990 from andy840119/remove-nullable-disable-in-the-ruleset-filter
...
Remove nullable disable annotation in the ruleset filter.
2022-07-04 13:46:31 +09:00
andy840119
14ef771290
Remove the nullable disable annotation in the test case.
2022-07-03 21:05:14 +08:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
...
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dan Balasescu
385bd5a1b2
Merge pull request #18965 from peppy/mark-flaky-tests
...
Mark, document and silence remaining flaky tests on standard CI runs
2022-07-03 21:41:14 +09:00
Dan Balasescu
724fd19038
Remove nullable disables
2022-07-03 21:15:13 +09:00
Dan Balasescu
982bcc4500
Merge pull request #18981 from peppy/fix-beatmap-info-wedge-test
...
Fix `BeatmapInfoWedge` test potentially failing due to quick initial load
2022-07-03 13:10:16 +09:00
Salman Ahmed
9b833524c0
Merge branch 'master' into add-realm-blocking-logging
2022-07-02 12:41:36 +03:00
Salman Ahmed
f09c46238d
Merge branch 'master' into fix-channel-id-clash
2022-07-02 10:21:47 +03:00
Dean Herbert
2cc9c579d4
Merge pull request #18969 from smoogipoo/fix-multiplayer-cross-pollution
...
Fix cross-pollution of server- and client-side multiplayer objects in tests
2022-07-02 13:18:35 +09:00
Dean Herbert
2352636bf2
Fix ID clash with announce and PM channels in chat overlay tests
...
Yet Another Issue.
https://github.com/ppy/osu/runs/7159306924?check_suite_focus=true
Not sure why announce channel was using a user id for its channel ID.
Bad copy paste?
2022-07-02 13:11:50 +09:00
Dean Herbert
1a14808c39
Fix BeatmapInfoWedge
test potentially failing due to quick initial load
...
Was doing a comparison of previous vs new content after explicitly doing
a load in a previous step.
2022-07-02 13:03:14 +09:00
Dean Herbert
4fd47b5fa0
Add more verbose logging to realm blocking process
2022-07-02 12:36:56 +09:00
Dan Balasescu
6644f9a72a
Fix completely incorrect test
2022-07-01 21:14:06 +09:00
Dan Balasescu
3b1842a2c2
Merge pull request #18835 from peppy/beatmap-update-flow
...
Split out beatmap update tasks to `BeatmapUpdater` and invoke from editor save flow
2022-07-01 20:28:04 +09:00
Dan Balasescu
93c68e4329
More test hardening around ClientAPIRoom usages
2022-07-01 19:49:27 +09:00
Dean Herbert
6baccad058
Merge pull request #18821 from ggliv/locked-room-filter
...
Add room access type filter to multiplayer lounge screen
2022-07-01 19:37:43 +09:00
Dan Balasescu
b64c0d011c
Isolate client's Room from TestMultiplayerClient
2022-07-01 19:23:25 +09:00
Dan Balasescu
0be858b5bf
Rename APIRoom -> ClientAPIRoom, remove unused asserts
2022-07-01 19:21:59 +09:00
Dean Herbert
b829884861
Merge pull request #18963 from peppy/more-placeholder-suggestions
...
Add difficulty filter reset to song select "no results" suggestions
2022-07-01 17:55:23 +09:00
Dean Herbert
e213c1a4ef
Rename enum to explicitly mention it is a filter
2022-07-01 17:27:03 +09:00
Dean Herbert
9911c6cbf0
Merge branch 'master' into locked-room-filter
2022-07-01 17:17:01 +09:00
Dean Herbert
0e1f08eff8
Fix regressing BeatmapRecommendations
tests due to diffcalc running at
2022-07-01 17:10:15 +09:00
Dean Herbert
17ad6648d1
Fix new test failing on headless runs
2022-07-01 17:07:00 +09:00
Dean Herbert
8f8c2a8c9a
Remove one flaky test description (fixed via #18966 )
2022-07-01 16:55:47 +09:00
Salman Ahmed
3bca439c4f
Merge branch 'master' into more-placeholder-suggestions
2022-07-01 10:52:32 +03:00
Dan Balasescu
58c9bb031f
Apply PR reviews/fixes
2022-07-01 16:51:15 +09:00
Dan Balasescu
c22e77e481
Fix test sometimes referencing old ModSelect object
2022-07-01 16:46:27 +09:00
Dean Herbert
b597843579
Mark and document remaining flaky tests
2022-07-01 16:17:40 +09:00
Dan Balasescu
409224560f
Merge pull request #18874 from peppy/realm-fix-async-write-after-disposal
...
Ensure all async writes are completed before realm is disposed
2022-07-01 15:29:01 +09:00
Dean Herbert
3e0f4e7609
Add test coverage of difficulty filter reset
2022-07-01 15:28:55 +09:00
Dean Herbert
32139ac13f
Tidy up implementation and add basic visual test
2022-07-01 15:16:58 +09:00
andy840119
d94f700ab1
Remove the nullable disable annotate in the test project.
2022-06-30 23:06:49 +08:00
Dean Herbert
447b496eff
Merge branch 'master' into realm-fix-async-write-after-disposal
2022-06-30 19:07:15 +09:00
Dean Herbert
84ecd524c8
Move wait steps upwards
2022-06-30 17:58:43 +09:00
Dean Herbert
7ab8335935
Fix various multiplayer test failures due to not waiting for ongoing operation
...
As seen at
https://teamcity.ppy.sh/buildConfiguration/Osu_Build/1138?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true&expandBuildTestsSection=true .
2022-06-30 17:42:45 +09:00
Dan Balasescu
5a346edc63
Merge pull request #18951 from peppy/fix-realm-missing-transaction-rollback
...
Fix `PerformWrite` not rolling back transaction on exception
2022-06-30 17:17:56 +09:00
Dean Herbert
98938821e5
Merge branch 'master' into beatmap-update-flow
2022-06-30 16:44:17 +09:00
Dean Herbert
10934450cc
Fix directory cleanup occurring too early during realm tests
2022-06-30 16:02:46 +09:00
Dean Herbert
0abb400f64
Add reproduction of transaction not being exited correctly
2022-06-30 15:15:09 +09:00
Dan Balasescu
c5d31f50cd
Attempt to fix flaky TestSceneAutoplay test
2022-06-30 11:38:51 +09:00
Dean Herbert
165af8392f
Merge pull request #18944 from bdach/editor-navigation-test-again-again
2022-06-30 10:37:56 +09:00
Bartłomiej Dach
8171deec49
Attempt to fix editor navigation test failures again
...
First of all, stop relying that `InputManager` will successfully press
the gameplay test button, because it won't if it's obscured by the
notification overlay. Closing the overlay in a loop doesn't work because
there's a chance that a notification is posted, then all overlays are
closed, then another notification is posted, and so the button still
isn't clickable. Instead, use the `TestGameplay()` method directly.
Secondly, the notifications will still block `EditorPlayerLoader` from
transitioning to `EditorPlayer`. Here we have no other choice than to
aggressively dismiss notifications every spin of the relevant until
step and hope we eventually progress to `EditorPlayer`.
2022-06-29 22:45:56 +02:00
Bartłomiej Dach
381deaf62d
Merge branch 'master' into fix-flaky-placeholder-test
2022-06-29 22:31:45 +02:00
Dean Herbert
46cbbf5c6e
Fix flaky song select placeholder test by changing ruleset post-display
...
Was failing occasionally due to the beatmap present operation causing
the test's ruleset change to undo.
```csharp
TearDown : System.TimeoutException : "wait for placeholder visible" timed out
--TearDown
at osu.Framework.Testing.Drawables.Steps.UntilStepButton.<>c__DisplayClass11_0.<.ctor>b__0()
at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
--- End of stack trace from previous location ---
at osu.Framework.Testing.TestSceneTestRunner.TestRunner.RunTestBlocking(TestScene test)
at osu.Game.Tests.Visual.OsuTestScene.OsuTestSceneTestRunner.RunTestBlocking(TestScene test) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/OsuTestScene.cs:line 503
at osu.Framework.Testing.TestScene.RunTestsFromNUnit()
------- Stdout: -------
[runtime] 2022-06-29 10:36:45 [verbose]: 💨 Class: TestScenePlaySongSelect
[runtime] 2022-06-29 10:36:45 [verbose]: 🔶 Test: TestPlaceholderConvertSetting
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #1 exit all screens
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #2 reset defaults
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #3 delete all beatmaps
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #4 change ruleset to 2
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #5 import test map for ruleset 0
[database] 2022-06-29 10:36:45 [verbose]: [efc1a] Beginning import from unknown...
[database] 2022-06-29 10:36:45 [verbose]: [efc1a] Import successfully completed!
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #6 wait for imported to arrive in carousel
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #7 change convert setting
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #8 create song select
[runtime] 2022-06-29 10:36:45 [verbose]: ScreenTestScene screen changed → TestScenePlaySongSelect+TestSongSelect
[runtime] 2022-06-29 10:36:45 [verbose]: 📺 ScreenTestScene(OsuScreenStack)#338(depth:1) loading TestScenePlaySongSelect+TestSongSelect#263
[runtime] 2022-06-29 10:36:45 [verbose]: decoupled ruleset transferred ("" -> "osu!catch")
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #9 wait for present
[runtime] 2022-06-29 10:36:45 [verbose]: 📺 ScreenTestScene(OsuScreenStack)#338(depth:1) entered TestScenePlaySongSelect+TestSongSelect#263
[runtime] 2022-06-29 10:36:45 [verbose]: 📺 BackgroundScreenStack#328(depth:1) loading BackgroundScreenBeatmap#338
[runtime] 2022-06-29 10:36:45 [verbose]: 📺 BackgroundScreenStack#328(depth:1) entered BackgroundScreenBeatmap#338
[runtime] 2022-06-29 10:36:45 [verbose]: Song select updating selection with beatmap:null ruleset:fruits
[runtime] 2022-06-29 10:36:45 [verbose]: Song select changing beatmap from "please load a beatmap! - no beatmaps available!" to "null"
[runtime] 2022-06-29 10:36:45 [verbose]: Song select working beatmap updated to Some Artist 0 - Some Song (set id 6224) ece7b702-895c-4f15-892f-05e4ff5e9a24 (Some Guy 3) [Normal 6224000 (length 0:50, bpm 106.7)]
[runtime] 2022-06-29 10:36:45 [verbose]: Song select updating selection with beatmap:null ruleset:osu
[runtime] 2022-06-29 10:36:45 [verbose]: decoupled ruleset transferred ("osu!catch" -> "osu!")
[runtime] 2022-06-29 10:36:45 [verbose]: Song select updating selection with beatmap:74232aa2-2a1f-4920-b643-e85976838251 ruleset:osu
[runtime] 2022-06-29 10:36:45 [verbose]: Song select decided to ensurePlayingSelected
[runtime] 2022-06-29 10:36:45 [verbose]: Game-wide working beatmap updated to Some Artist 0 - Some Song (set id 6224) ece7b702-895c-4f15-892f-05e4ff5e9a24 (Some Guy 3) [Normal 6224000 (length 0:50, bpm 106.7)]
[runtime] 2022-06-29 10:36:45 [debug]: Focus changed from nothing to SeekLimitedSearchTextBox.
[network] 2022-06-29 10:36:45 [verbose]: Failing request osu.Game.Online.API.Requests.GetBeatmapRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-29 10:36:45 [verbose]: ✔️ 16 repetitions
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #10 wait for carousel loaded
[runtime] 2022-06-29 10:36:45 [verbose]: 🔸 Step #11 wait for placeholder visible
[runtime] 2022-06-29 10:36:55 [verbose]: 💥 Failed (on attempt 1,459)
[runtime] 2022-06-29 10:36:55 [verbose]: ⏳ Currently loading components (0)
[runtime] 2022-06-29 10:36:55 [verbose]: 🧵 Task schedulers
[runtime] 2022-06-29 10:36:55 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:0 pending:0
[runtime] 2022-06-29 10:36:55 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-06-29 10:36:55 [verbose]: 🎱 Thread pool
[runtime] 2022-06-29 10:36:55 [verbose]: worker: min 1 max 32,767 available 32,766
[runtime] 2022-06-29 10:36:55 [verbose]: completion: min 1 max 1,000 available 1,000
[runtime] 2022-06-29 10:36:55 [debug]: Focus on "SeekLimitedSearchTextBox" no longer valid as a result of unfocusIfNoLongerValid.
[runtime] 2022-06-29 10:36:55 [debug]: Focus changed from SeekLimitedSearchTextBox to nothing.
```
2022-06-30 04:45:04 +09:00
Dean Herbert
13108155d3
Fix crash on visual esting TestSceneChatOverlay
due to null user
2022-06-30 03:43:56 +09:00
Dean Herbert
a3b4a515fc
Merge branch 'master' into realm-fix-async-write-after-disposal
2022-06-29 22:39:05 +09:00
Joseph Madamba
36e71d39f2
Fix one more mod settings test
2022-06-28 09:54:18 -07:00
Joseph Madamba
d07c2a64b9
Remove unused using
2022-06-28 08:39:09 -07:00
Joseph Madamba
f07107aba9
Fix failing diff adjust slider tests
2022-06-28 08:38:15 -07:00
Dean Herbert
ed1b809f54
Add missing request handling to actually join PM channels
2022-06-28 18:11:37 +09:00
Dean Herbert
21d31ee218
Ensure joined channels are actually joined to avoid unexpected tab order
2022-06-28 18:11:37 +09:00