Commit Graph

2333 Commits

Author SHA1 Message Date
Dean Herbert
4446a2972c Move WaveContainer test out of editor namespace 2019-10-08 18:08:05 +09:00
Dean Herbert
8ebccfe31f Add comprehensive audio state tests 2019-10-08 17:03:13 +09:00
Dean Herbert
f284d096b7 Fix ignored song select test 2019-10-08 16:37:47 +09:00
Andrei Zavatski
aa8df0fa20 Hook up api and implement some visual comments representation 2019-10-07 18:26:07 +03:00
Andrei Zavatski
e772822bd5 Basic implementation 2019-10-07 17:49:20 +03:00
Dean Herbert
46d6c5ec3b Add failing test 2019-10-07 15:17:03 +09:00
Dean Herbert
62c4c1266e Move private functions to bottom 2019-10-07 15:17:03 +09:00
Dean Herbert
93c0cf14c1
Merge branch 'master' into allow-fallback-decoder-overwrite 2019-10-05 10:56:57 +08:00
Joehu
de658c932e Fix test regression 2019-10-04 17:22:42 -07:00
Bartłomiej Dach
76c74719a4 Add test for fallback decoder overwrite
LegacyDifficultyCalculatorBeatmapDecoder was registered as a fallback
decoder in commit ffde389 for future use in the server-side difficulty
calculation components. Due to the pre-existing fallback registrations
this causes a runtime crash when the diffcalc components are started.
Add a test reproducing this scenario to prevent the issue from
resurfacing in the future.
2019-10-04 17:00:51 +02:00
iiSaLMaN
4f40a04425 Add tests ensuring correct behaviour with ruleset selection 2019-10-04 17:57:39 +03:00
iiSaLMaN
edddbdb784 Add tests for beatmap ruleset selector 2019-10-04 17:37:09 +03:00
Dean Herbert
9eab56e2fc
Merge branch 'master' into editor-beatmap-changed-event 2019-10-04 17:58:58 +08:00
Dan Balasescu
457e0c4d7b
Merge pull request #6117 from bdach/beatmap-parsing-fallback-v2
Add fallback decoder option for badly-headered files
2019-10-04 15:03:10 +09:00
Dean Herbert
49fdb4b731
Fix Alt-F4 being blocked during gameplay (#6369)
Fix Alt-F4 being blocked during gameplay

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-10-04 13:33:00 +08:00
Dan Balasescu
2b61bb709e
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-10-04 14:08:27 +09:00
Dean Herbert
f1772d01d2
Add the new switch button + labelled switch button (#6257)
Add the new switch button + labelled switch button

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-10-04 13:01:57 +08:00
Dan Balasescu
dc984d0d81
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-10-04 13:51:56 +09:00
Dean Herbert
626f7388c8 Add tests for quick retry and quick exit scenarios 2019-10-04 12:23:01 +08:00
Dean Herbert
e646b2677c Add test coverage 2019-10-04 11:25:23 +08:00
Dean Herbert
a7b58cad99
Merge branch 'master' into labelled-switch-button 2019-10-04 11:15:54 +08:00
smoogipoo
a5e1cb8feb Merge remote-tracking branch 'Game4all/master' into truncate-metadata-on-wedge 2019-10-04 11:21:33 +09:00
Joseph Madamba
d87f6d270b
Merge branch 'master' into fix-alt-f4-being-blocked-by-overlays 2019-10-03 08:43:31 -07:00
Craftplacer
dbcb9e51c2
Merge branch 'master' into muted-notification 2019-10-03 12:51:22 +02:00
Dean Herbert
e9c73ce30f Fix random failures on BeatmapCarousel filter test
The "un-filter" step causes a `SelectNextRandom` invocation. If this happens to select a difficulty in set 3 other than the previously buffered difficulty #2, the subsequent test would fail.

I've split this test out to remove the random element, but added a new assert to ensure buffered (previously visited?) difficulty is re-selected on return to the same set.
2019-10-03 16:21:14 +08:00
Dean Herbert
6268bbcfc8
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-10-03 15:12:21 +08:00
smoogipoo
3fb0b0b668 Rename to StartTimeChanged and add xmldocs 2019-10-03 14:37:16 +09:00
smoogipoo
f2719afd0e Add tests for Editorbeatmap 2019-10-03 14:27:40 +09:00
Joehu
ff56453f1a Fix test regressions 2019-10-02 12:07:07 -07:00
Craftplacer
4d4e846296
Merge branch 'master' into muted-notification 2019-10-02 17:31:34 +02:00
Craftplacer
5f399add82 Resolve @iiSaLMaN 's suggested changes 2019-10-01 18:15:40 +02:00
Craftplacer
4e394e0ed5
Merge branch 'master' into muted-notification 2019-10-01 17:26:11 +02:00
Ganendra Afrasya
208b9a4eba Add new virtual float for username to timestamp padding 2019-10-01 20:47:53 +07:00
Andrei Zavatski
f24ac04beb Add suggested blank line for consistency 2019-09-29 15:18:29 +03:00
Andrei Zavatski
97a0e0097f Add testing 2019-09-29 14:56:33 +03:00
Dean Herbert
193a9b0dd7
Merge branch 'master' into labelled-switch-button 2019-09-29 14:56:26 +08:00
Dean Herbert
539f3329ce Rename method to match new behaviour 2019-09-29 12:23:18 +08:00
Dean Herbert
02c1f490f1
Merge branch 'master' into muted-notification 2019-09-28 20:33:32 +08:00
Bartłomiej Dach
2487d4f0f2 Migrate beatmap carousel test to AddUntilStep
Due to non-deterministic test failures in TestSceneBeatmapCarousel,
migrate the checkSelected helper step from AddAssert to AddUntilStep.
This adds more leniency for performance-related issues while still
checking the desired behaviour.
2019-09-28 11:58:27 +02:00
Craftplacer
06c32d52dc Change wrong volume bindable used in test 2019-09-27 09:19:39 +02:00
Craftplacer
9a31ccd2e3 Add missing test cases for master, track and mute button
This also modifies the reset player method to make it possible to set something before the player is loaded but after the container has loaded.
2019-09-26 14:05:43 +02:00
Dean Herbert
e2744054c7
Merge branch 'master' into back-button-part-2 2019-09-25 22:46:08 +09:00
Dean Herbert
7d5544460b
Fix mania scrolling speed not including beatmap slider multipli… (#6236)
Fix mania scrolling speed not including beatmap slider multiplier

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-09-25 22:34:46 +09:00
Dean Herbert
8c01677e0b Merge remote-tracking branch 'upstream/master' into back-button-part-2 2019-09-25 22:12:00 +09:00
smoogipoo
244627ff10 Add comment + test for slider multiplier 2019-09-25 20:12:01 +09:00
smoogipoo
ccb5623487 Fix test name 2019-09-25 20:03:03 +09:00
Dean Herbert
f11156c2dc Fix tests not working correctly 2019-09-25 19:30:25 +09:00
smoogipoo
9f77a1ef35 Adjust namespaces 2019-09-25 17:53:08 +09:00
smoogipoo
d32a0acd10 Merge remote-tracking branch 'origin/master' into labelled-switch-button 2019-09-25 17:51:12 +09:00
smoogipoo
c9e39c124e Add a labelled switch button 2019-09-25 17:42:35 +09:00
smoogipoo
261ba5c80a Fix button not transforming correctly in some cases 2019-09-25 17:42:27 +09:00
Dean Herbert
8fd1a45a42 Change intro displayed for tests
As the triangles intro relies on the audio track's clock advancing, we can't use it just yet (CI server has no audio device). This is a temporary workaround for that shortcoming.
2019-09-25 15:29:02 +09:00
Dean Herbert
c83db94eb7 Use isolated storage/api 2019-09-25 15:00:08 +09:00
Dean Herbert
654b815b36 Merge remote-tracking branch 'upstream/master' into back-button-part-2 2019-09-25 14:38:39 +09:00
Dean Herbert
2089f6fc42 Fix potential test fail case 2019-09-25 14:28:35 +09:00
Joehu
102dbd85bd Fix CI errors 2019-09-24 16:48:22 -07:00
Joehu
cc6030ca14 Update beatmap info wedge tests 2019-09-24 16:23:36 -07:00
Joehu
8efba255c3 Add truncation test 2019-09-24 16:21:08 -07:00
Dean Herbert
4a59e3351e Update beatmap carousel tests code style
Also fixes one issue I spotted in BeatmapCarousel related to incorrectly holding a selection after new sets are loaded.
2019-09-25 02:42:12 +09:00
Dean Herbert
03ec0fb27d
Merge branch 'master' into fix-mania-scrolling-speed 2019-09-24 22:20:19 +09:00
Dean Herbert
4271b3bb50
Mark configuration lookup test headless (#6240)
Mark configuration lookup test headless
2019-09-24 19:50:19 +09:00
Dean Herbert
e78f134b90 Mark configuration lookup test headless 2019-09-24 19:35:42 +09:00
Dean Herbert
f493f1c71d Move new components to v2 namespace 2019-09-24 19:00:26 +09:00
smoogipoo
028c958431 Initial implementation of a switch button 2019-09-24 18:39:11 +09:00
smoogipoo
6b702eb6de Update with generic labelledcomponent 2019-09-24 18:25:17 +09:00
smoogipoo
5212c50654 Merge branch 'generic-labelledcomponent' into labelled-textbox-improvements 2019-09-24 18:23:01 +09:00
smoogipoo
df692b091c Make LabelledComponent generic 2019-09-24 18:22:02 +09:00
smoogipoo
4abe0473b9 Fix relative beat length not considering slider multiplier 2019-09-24 16:49:42 +09:00
Dean Herbert
9a6d748498
Merge branch 'master' into add-creator-artist-filters 2019-09-23 12:31:51 +09:00
Dean Herbert
d6ec6b1eda
Merge branch 'master' into labelled-textbox-improvements 2019-09-23 00:39:29 +09:00
Dean Herbert
9fe7675be8
Add a base class for all future labelled components (#6187)
Add a base class for all future labelled components
2019-09-23 00:38:51 +09:00
Bartłomiej Dach
70842f71f4 Fix floating point handling in filter intervals
Due to floating-point rounding and representation errors, filters could
wrongly display results incongruous with the wedge display text (ie.
a beatmap with the BPM of 139.99999 would be displayed as having 140
BPM and also pass the bpm<140 filter).

Apply tolerance when parsing floating-point constraints. The tolerance
chosen is half of what the UI displays for the particular values (so
for example half of 0.1 for AR/DR/CS, 0.01 for stars, etc.)

Tests updated accordingly.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach
b262ba13cd Add creator= and artist= filters
To match stable, add creator= and artist= filters to the beatmap
carousel on song select screen. Contrary to stable, this implementation
supports phrase queries with spaces within using double quotes.

The quote handling is not entirely correct (can't nest), but quotes
should rarely happen within names, and it is an edge case of an edge
case - leaving best-effort as is. Test coverage also included.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach
51509f6be0 Add filter steps to carousel visual test
Just a couple of steps for added coverage in visual tests. Very
on-the-surface, the unit tests are supposed to cover the gory details.
2019-09-22 00:20:54 +02:00
Bartłomiej Dach
41569fd2b6 Add filter evaluating unit tests
Introduce unit tests covering the actual evaluation of filters for
beatmaps. Partially covers most scenarios.
2019-09-22 00:20:54 +02:00
Bartłomiej Dach
d11d932a87 Add filter parsing tests
Introduce unit tests covering parsing for the originally introduced
filtering features. The introduced improvements (lower and upper
interval and decimal point support) also tested.
2019-09-22 00:20:54 +02:00
Dean Herbert
db90d211cb
Fix scores importing with deleted beatmap sets (#6190)
Fix scores importing with deleted beatmap sets
2019-09-22 01:15:22 +09:00
smoogipoo
08440ce5fd Adjust test to assert that the import failed 2019-09-22 00:59:40 +09:00
smoogipoo
24cc8ce0b7 Fix deleting null beatmap set 2019-09-22 00:59:01 +09:00
Dan Balasescu
73fe402756
Merge branch 'master' into fix-html-unescaping 2019-09-21 12:59:57 +09:00
Lucas A
bbf3ac77f8 Add visual test for HTML string unescaping. 2019-09-20 21:35:26 +02:00
smoogipoo
ff2f3cde02 Add test 2019-09-20 19:53:03 +09:00
smoogipoo
2bbf4ca4b5 Update LabelledTextBox to use LabelledComponent 2019-09-20 18:50:50 +09:00
smoogipoo
e0a97cfac5 Add a LabelledComponent base class 2019-09-20 18:35:15 +09:00
Dean Herbert
a06cb54732
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-09-20 15:28:08 +09:00
Dean Herbert
f306fe27d8 Add test to cover corruption case 2019-09-20 15:05:48 +09:00
dependabot-preview[bot]
f10b390ca0
Bump Microsoft.NET.Test.Sdk from 16.2.0 to 16.3.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.2.0 to 16.3.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.2.0...v16.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-19 16:32:39 +00:00
Dean Herbert
4e9bb7b121 Merge remote-tracking branch 'upstream/master' into hold-to-press-setting 2019-09-19 22:35:18 +09:00
Dean Herbert
23c5cb6367 Expand tests to cover new behaviour 2019-09-19 22:35:14 +09:00
Dean Herbert
0a67d1db1b
Merge pull request #5355 from EVAST9919/songselect-best-user-score
Show personal best on song select
2019-09-19 21:17:23 +09:00
Dean Herbert
50d4206c45 Fix exit scenarios 2019-09-19 20:17:58 +09:00
Dean Herbert
ddff9882cf Fix importing archives which are nested in a single folder within a zip 2019-09-19 19:11:04 +09:00
Dean Herbert
2b6c9aeb26 Move top score container to more local namespace 2019-09-19 15:38:40 +09:00
Dean Herbert
9b35de9ce1 Update tests 2019-09-19 15:23:37 +09:00
Dean Herbert
a7b6895d4c Revert changes to BeatmapDetailArea 2019-09-19 14:26:15 +09:00
iiSaLMaN
e793854735 Invert BypassFail usage 2019-09-19 08:00:41 +03:00
Dean Herbert
e5509cd390 Rename test 2019-09-19 13:19:48 +09:00
Dean Herbert
2e0a85c2f6 Merge remote-tracking branch 'upstream/master' into songselect-best-user-score 2019-09-19 12:57:30 +09:00
iiSaLMaN
3efcf0493c Remove redundant using directive 2019-09-18 23:28:48 +03:00
iiSaLMaN
ea6318ed73 Fix failing test 2019-09-18 23:17:24 +03:00
iiSaLMaN
871adb16e0 Add asserts for fail bypassing 2019-09-18 22:51:03 +03:00
Dean Herbert
e17cd9e964 Reduce length of tests 2019-09-18 16:14:31 +09:00
Dean Herbert
77947e8309 Fix rewind tests failing 2019-09-17 22:33:27 +09:00
Dean Herbert
38d85e44be Merge branch 'master' into key-counter-fixes 2019-09-17 22:33:15 +09:00
Andrei Zavatski
babd34470e Fix DrawableFlag returns empty texture if there's no flag avaliable for needed country 2019-09-15 02:33:21 +03:00
Bartłomiej Dach
29fcab65f9 Remove superfluous csproj entries 2019-09-15 01:28:07 +02:00
Bartłomiej Dach
86588778b1 Implement fallback decoder registration
After the preparatory introduction of LineBufferedReader, it is now
possible to introduce registration of fallback decoders that won't drop
input supplied in the first line of the file.

A fallback decoder is used when the magic in the first line of the file
does not match any of the other known decoders. In such a case,
the fallback decoder is constructed and provided a LineBufferedReader
instance. The process of matching magic only peeks the first non-empty
line, so it is available for re-reading in Decode() using ReadLine().

There can be only one fallback decoder per type; a second attempt of
registering a fallback will result in an exception to avoid bugs.

To address the issue of parsing failing on badly or non-headered files,
set the legacy decoders for Beatmaps and Storyboards as the fallbacks.

Due to non-trivial logic, several new, passing unit tests with possible
edge cases also included.
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
11eda44d34 Migrate decoding to line-buffered reader
Migrate all usages of StreamReader in the context of decoding beatmaps,
storyboards or skins to the new LineBufferedReader.
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
7b1ff38df7 Implement line-buffered reader
Add a line-buffered reader decorator operating on StreamReader
instances. The decorator has two main operations - PeekLine(), which
allows to see the next line in the stream without consuming it,
ReadLine(), which consumes and returns the next line in the stream, and
ReadToEnd() which reads all the remaining text in the stream (including
the unconsumed peeked line). Peeking line-per-line uses an internal
queue of lines that have been read ahead from the underlying stream.

The addition of the line-buffered reader is a workaround solution to
a problem with decoding. At current selecting a decoder works by
irreversibly reading the first line from the stream and looking for
a magic string that indicates the type of decoder to use.

It might however be possible for a file to be valid in format, just
missing a header. In such a case a lack of a line-buffered reader makes
it impossible to reparse the content of that first line. Introducing it
will however allow to peek the first line for magic first.

 - If magic is found in the first line, GetDecoder() will peek it and
   use it to return the correct Decoder instance. Note that in the case
   of JsonBeatmapDecoder the magic is the opening JSON object brace,
   and therefore must not be consumed.

 - If magic is not found, the fallback decoder will be able to consume
   it using ReadLine() in Decode().

This commit additionally contains basic unit tests for the reader.

Suggested-by: Aergwyn <aergwyn@t-online.de>
2019-09-15 01:26:15 +02:00
Dean Herbert
2cd3657b5e
Merge branch 'master' into beatmap-video 2019-09-13 23:08:57 +09:00
Dean Herbert
9e53c091a3
Merge pull request #6095 from peppy/fix-test-dummy-api
Fix incorrect DI usage of IAPIProvider in many tests
2019-09-13 22:22:07 +09:00
Dan Balasescu
b10ce0b12d
Merge branch 'master' into key-counter-fixes 2019-09-13 19:43:33 +09:00
Andrei Zavatski
437e121056 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video 2019-09-13 13:39:58 +03:00
Dean Herbert
a7c59098ce Fix missing assignment 2019-09-13 17:38:04 +09:00
Dean Herbert
7cb79dd760 Fix incorrect DI usage of IAPIProvider in many tests 2019-09-13 17:15:33 +09:00
Andrei Zavatski
9a9654dbd1 Fix the Test Scene 2019-09-13 10:59:09 +03:00
Andrei Zavatski
c9ae4336f9 Fix RankingsScope test 2019-09-13 10:50:26 +03:00
Andrei Zavatski
51f17ccb1b Remove test duplicate 2019-09-13 10:48:02 +03:00
Andrei Zavatski
cb98b07e33 Merge master with conflicts resolved 2019-09-13 10:45:01 +03:00
Dean Herbert
ffd205f470 Merge remote-tracking branch 'upstream/master' into pr/EVAST9919/6076 2019-09-13 16:25:30 +09:00
Dean Herbert
c4f9be5913
Merge pull request #6093 from smoogipoo:fix-player-restart
Fix player not correctly restarting after an unpause
2019-09-13 16:09:41 +09:00
Dean Herbert
a05ae2c1b2 Merge remote-tracking branch 'upstream/master' into pr/EVAST9919/6082 2019-09-13 15:53:11 +09:00
smoogipoo
cf2f841b4d Fix player not correctly exiting after an unpause 2019-09-13 15:42:58 +09:00
Dean Herbert
44947aa9ed Make PopupDialog abstract 2019-09-13 15:27:29 +09:00
Andrei Zavatski
5a72083c13 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-title 2019-09-13 08:32:06 +03:00
Andrei Zavatski
99fc13b4d8 Update usage of the DismissableFlag 2019-09-12 19:34:58 +03:00
Andrei Zavatski
0142fcd07a Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-title 2019-09-12 19:29:05 +03:00
Andrei Zavatski
7ee01ee323 Use assignment instead of binding 2019-09-12 18:11:48 +03:00
Andrei Zavatski
4dd819c150 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-scope-selector 2019-09-12 17:17:32 +03:00
Andrei Zavatski
cafb5105bc Rename HeaderFlag to DismissableFlag 2019-09-12 16:44:15 +03:00
Dean Herbert
2cb084666b
Merge branch 'master' into rankings-scope-selector 2019-09-12 22:37:14 +09:00
Dean Herbert
5f77236c01
Merge branch 'master' into closable-flag 2019-09-12 22:27:34 +09:00
Dean Herbert
68feedbd15 Fix unreported CI issue 2019-09-12 18:46:42 +09:00
Dean Herbert
09a0c9f4d2 Add key counter rewind tests 2019-09-12 18:10:50 +09:00
Dean Herbert
0cdf125c1e Handle key counter rewinding in a better way
Use ElapsedFrameTime rather than storing state data
2019-09-12 15:42:14 +09:00
Dean Herbert
158737e001 Remove FadeTime customisation
Also adjusts fade transitions to feel better, especially in fast forward scenarios.
2019-09-12 14:27:29 +09:00
Andrei Zavatski
acdd26422d Implement Spotlights logic 2019-09-12 06:36:17 +03:00
Andrei Zavatski
0c6c8fdcd0 Implement RankingsHeader component 2019-09-12 05:53:18 +03:00
Andrei Zavatski
b657e31f93 Merge dependent changes 2019-09-12 05:26:10 +03:00
Andrei Zavatski
4bfb681db6 CI fixes 2019-09-12 05:16:56 +03:00
Andrei Zavatski
581508b8e7 Implement RankingsRulesetSelector 2019-09-12 05:06:51 +03:00
Andrei Zavatski
dbfbd1262f Implement HeaderTitle component for RankingsOverlay 2019-09-11 23:39:22 +03:00
Andrei Zavatski
eee1cad760 Merge remote-tracking branch 'refs/remotes/origin/closable-flag' into rankings-title 2019-09-11 23:01:38 +03:00
Andrei Zavatski
41ad44791b Move RankingsScopeSelector to another namespace 2019-09-11 11:58:18 +03:00
Andrei Zavatski
d610c90371 Add more tests 2019-09-11 10:43:51 +03:00
Andrei Zavatski
95828b07ef Implement HeaderFlag component for rankings overlay 2019-09-11 10:40:58 +03:00
Andrei Zavatski
1969c5b89b Apply suggetsted changes 2019-09-10 16:36:05 +03:00
Andrei Zavatski
6c2db8e4b0 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-scope-selector 2019-09-10 16:33:08 +03:00
Dan Balasescu
4910c23482
Merge branch 'master' into show-beatmap-not-selected-in-leaderboards 2019-09-10 17:43:42 +09:00
Dan Balasescu
b4f5f902eb
Merge branch 'master' into use-test-working-beatmap-in-details-area-tests 2019-09-10 17:24:25 +09:00