1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 01:27:29 +08:00
Commit Graph

278 Commits

Author SHA1 Message Date
smoogipoo
41caa37856 Add tests 2020-04-10 13:29:49 +09:00
smoogipoo
ecd7ce4b98 Fix test scene 2020-04-09 21:00:23 +09:00
smoogipoo
ee6ea08cf8 Cleanup handling of hitobject updates 2020-04-09 20:16:44 +09:00
Will Kennedy
877bd7837a Changed variable names 2020-04-02 22:02:57 -04:00
Will Kennedy
c042e709a5 Fix GetDecoder getting fallback decoder too often 2020-04-02 20:43:54 -04:00
Dean Herbert
6d81da5419
Merge branch 'master' into video-offset 2020-03-25 11:28:59 +09:00
Dean Herbert
368bf58521 Rename and make fields readonly 2020-03-25 11:08:08 +09:00
Dean Herbert
729e006c3a
Merge branch 'master' into video-offset 2020-03-21 20:03:46 +09:00
Dean Herbert
370ff70dd4 Fix incorrect host name specification 2020-03-17 18:32:30 +09:00
Dan Balasescu
1d556bfc5f
Merge branch 'master' into video-offset 2020-03-11 15:13:18 +09:00
smoogipoo
7a9c85d69d Fix now failing test due to parsing ranges 2020-03-10 12:21:40 +09:00
voidedWarranties
48282dea8b Remove individual setting to disable videos, fix tests 2020-03-07 22:08:38 -08:00
smoogipoo
363d7d724a Use old ctor params 2020-01-15 14:02:29 +09:00
smoogipoo
0e844b3039 Cleanup / re-protect file store 2020-01-14 19:24:53 +09:00
smoogipoo
4b8d628000 Remove file addition test 2020-01-14 19:24:53 +09:00
smoogipoo
524ff41931 Add more assertions 2020-01-14 19:24:53 +09:00
smoogipoo
b592b6d80d Improve robustness by always creating a new file 2020-01-14 19:24:53 +09:00
smoogipoo
000fc836b2 Remove unused class 2020-01-14 19:24:53 +09:00
smoogipoo
dce93dfe7c Split test 2020-01-14 19:24:53 +09:00
smoogipoo
609102bea3 Initial file updating implementation 2020-01-14 19:24:53 +09:00
smoogipoo
681a43a318 Refactor to support beatmap updates 2020-01-14 19:24:53 +09:00
smoogipoo
6069d98ced Remove generic editor beatmap 2019-12-27 19:39:30 +09:00
Dean Herbert
0677f746aa Provide the ruleset to converter classes 2019-12-24 16:02:16 +09:00
smoogipoo
705cdde148 Fix incorrect test 2019-12-20 16:42:45 +09:00
smoogipoo
c976427206 Refactor test to be more complete 2019-12-13 19:00:28 +09:00
smoogipoo
be000e13e4 Implement initial legacy beatmap encoding support 2019-12-12 18:34:40 +09:00
Huo Yaoyuan
374ef6ff83 Merge branch 'master' into sharpen 2019-11-20 17:30:58 +08:00
Dean Herbert
9f62ec869a Add failing test 2019-11-14 19:38:20 +09:00
Huo Yaoyuan
d60493a961 Use discards. 2019-11-12 20:03:21 +08:00
Huo Yaoyuan
144812669d Use static local functions. 2019-11-12 19:56:54 +08:00
smoogipoo
cf2d885099 Fix control points being flushed too late 2019-10-30 18:02:18 +09:00
Dan Balasescu
514c9f1eef
Merge branch 'master' into bindable-control-points 2019-10-30 16:20:54 +09:00
Dean Herbert
7c6ccce3ba Add tests covering precision case 2019-10-29 18:02:30 +09:00
Dean Herbert
8baf569f59 Remove necessity of AutoGenerated flag 2019-10-25 19:58:42 +09:00
Dan Balasescu
26a33bfa4e
Merge branch 'master' into fix-resume-from-player-audio 2019-10-11 19:21:14 +09:00
Dean Herbert
c7eb0b401b
Merge branch 'master' into ignore-macosx-folder-in-archives 2019-10-11 14:36:52 +09:00
Bartłomiej Dach
11acd177f1 Add import test with files to be filtered out
Add a test case reproducing the conditions encountered "in the wild"
wherein a skin import would be performed incorrectly due to a __MACOSX
resource fork directory present next to a directory with the actual skin
files in the archive.
2019-10-10 23:54:17 +02:00
Bartłomiej Dach
c8ffc134d4 Use nameof when instantiating headless game hosts
As a purely cosmetic code improvement, substitute string literals
in constructor calls of HeadlessGameHost in ImportBeatmapTest for nameof
operator usages.
2019-10-10 22:36:43 +02:00
Bartłomiej Dach
cb1f7e2dc7 Fix platform dependency in buffered reader test
Tests for the line-buffered reader added in 7b1ff38 were subtly
dependent on the execution environment due to differing end-of-line
markers on Windows and Unix-based systems.

Because StreamReader discards all newlines when reading line-by-line,
LineBufferedReader used a StringBuilder to patch the peeked lines
back together with the remaining contents of the file being read.
As StringBuilder.AppendLine uses the environment-specific newline
delimiter, the delimiters after the peeked-but-unconsumed lines can
therefore be substituted by the platform-specific variants, causing
the test failures due to the overly-simplified way they were written.

Reformulate the test to avoid such issues from resurfacing again
by splitting lines by \r or \n and then testing each line individually.
Additionally remove all raw literals in favour of explicitly mixing
various line delimiter character sequences for additional coverage.
2019-10-10 15:33:18 +02:00
Dean Herbert
8df2e359c4 Fix tests on CI 2019-10-10 17:42:15 +09: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
Dean Herbert
9eab56e2fc
Merge branch 'master' into editor-beatmap-changed-event 2019-10-04 17:58:58 +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
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
Dean Herbert
ddff9882cf Fix importing archives which are nested in a single folder within a zip 2019-09-19 19:11:04 +09: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