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:
@@ -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 =>
|
||||
|
||||
Reference in New Issue
Block a user