1
0
mirror of https://github.com/ppy/osu.git synced 2026-06-07 02:53:38 +08:00

Add failing test case

This commit is contained in:
Bartłomiej Dach
2025-09-03 08:59:33 +02:00
Unverified
parent f414dd70f5
commit 6399f7e3db
+33
View File
@@ -294,6 +294,39 @@ namespace osu.Game.Tests.Skins.IO
#endregion
/// <remarks>
/// Note that this test passing / failing is platform / OS-specific (if it is to fail, it'll fail on windows).
/// </remarks>
[Test]
public async Task TestExternallyMountingImportWithInvalidFilename()
{
using (HeadlessGameHost host = new CleanRunHeadlessGameHost())
{
try
{
var osu = LoadOsuIntoHost(host);
var zipStream = new MemoryStream();
using var zip = ZipArchive.Create();
zip.AddEntry("test?.png", new MemoryStream(new byte[] { 0xDE, 0xAD, 0xBE, 0xEF }));
zip.SaveTo(zipStream);
var import = await loadSkinIntoOsu(osu, new ImportTask(zipStream, "test skin.osk"));
var skinManager = osu.Dependencies.Get<SkinManager>();
var externalEdit = await skinManager.BeginExternalEditing(import.PerformRead(s => s.Detach())); // should not fail
Task finishTask = Task.CompletedTask;
host.UpdateThread.Scheduler.Add(() => finishTask = externalEdit.Finish());
await finishTask;
}
finally
{
host.Exit();
}
}
}
private void assertCorrectMetadata(Live<SkinInfo> import1, string name, string creator, decimal version, OsuGameBase osu)
{
import1.PerformRead(i =>