diff --git a/osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs b/osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs index 3d2de2914a..fec7f86eb2 100644 --- a/osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs +++ b/osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs @@ -33,7 +33,7 @@ namespace osu.Game.Tests.Beatmaps.Formats [Test] public void TestDecodeBeatmapVersion() { - using (var resStream = TestResources.OpenResource("beatmap-version.osu")) + using (var resStream = TestResources.OpenResource("beatmap-version-6.osu")) using (var stream = new LineBufferedReader(resStream)) { var decoder = Decoder.GetDecoder(stream); @@ -45,6 +45,25 @@ namespace osu.Game.Tests.Beatmaps.Formats } } + [TestCase(false)] + [TestCase(true)] + public void TestPreviewPointWithOffsets(bool applyOffsets) + { + using (var resStream = TestResources.OpenResource("beatmap-version-4.osu")) + using (var stream = new LineBufferedReader(resStream)) + { + var decoder = Decoder.GetDecoder(stream); + ((LegacyBeatmapDecoder)decoder).ApplyOffsets = applyOffsets; + var working = new TestWorkingBeatmap(decoder.Decode(stream)); + + Assert.AreEqual(4, working.BeatmapInfo.BeatmapVersion); + Assert.AreEqual(4, working.Beatmap.BeatmapInfo.BeatmapVersion); + Assert.AreEqual(4, working.GetPlayableBeatmap(new OsuRuleset().RulesetInfo, Array.Empty()).BeatmapInfo.BeatmapVersion); + + Assert.AreEqual(-1, working.BeatmapInfo.Metadata.PreviewTime); + } + } + [Test] public void TestDecodeBeatmapGeneral() { @@ -915,10 +934,11 @@ namespace osu.Game.Tests.Beatmaps.Formats } } - [Test] - public void TestLegacyDefaultsPreserved() + [TestCase(false)] + [TestCase(true)] + public void TestLegacyDefaultsPreserved(bool applyOffsets) { - var decoder = new LegacyBeatmapDecoder { ApplyOffsets = false }; + var decoder = new LegacyBeatmapDecoder { ApplyOffsets = applyOffsets }; using (var memoryStream = new MemoryStream()) using (var stream = new LineBufferedReader(memoryStream)) diff --git a/osu.Game.Tests/Resources/beatmap-version-4.osu b/osu.Game.Tests/Resources/beatmap-version-4.osu new file mode 100644 index 0000000000..bba4ed46f1 --- /dev/null +++ b/osu.Game.Tests/Resources/beatmap-version-4.osu @@ -0,0 +1,4 @@ +osu file format v4 + +[General] +PreviewTime: -1 diff --git a/osu.Game.Tests/Resources/beatmap-version.osu b/osu.Game.Tests/Resources/beatmap-version-6.osu similarity index 100% rename from osu.Game.Tests/Resources/beatmap-version.osu rename to osu.Game.Tests/Resources/beatmap-version-6.osu