mirror of
https://github.com/osukey/osukey.git
synced 2025-05-20 04:57:38 +09:00
Add test coverage of different folder names with same skin.ini
This commit is contained in:
parent
7b3f7cc7c1
commit
0cbe95d661
@ -138,16 +138,38 @@ namespace osu.Game.Tests.Skins.IO
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MemoryStream createOsk(string name, string author)
|
[Test]
|
||||||
|
public async Task TestSameMetadataNameDifferentFolderName()
|
||||||
|
{
|
||||||
|
using (HeadlessGameHost host = new CleanRunHeadlessGameHost(nameof(ImportSkinTest)))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var osu = LoadOsuIntoHost(host);
|
||||||
|
|
||||||
|
var imported = await loadSkinIntoOsu(osu, new ZipArchiveReader(createOsk("name 1", "author 1", false), "my custom skin 1"));
|
||||||
|
|
||||||
|
var imported2 = await loadSkinIntoOsu(osu, new ZipArchiveReader(createOsk("name 1", "author 1", false), "my custom skin 2"));
|
||||||
|
|
||||||
|
Assert.That(imported2.Hash, Is.Not.EqualTo(imported.Hash));
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
host.Exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private MemoryStream createOsk(string name, string author, bool makeUnique = true)
|
||||||
{
|
{
|
||||||
var zipStream = new MemoryStream();
|
var zipStream = new MemoryStream();
|
||||||
using var zip = ZipArchive.Create();
|
using var zip = ZipArchive.Create();
|
||||||
zip.AddEntry("skin.ini", generateSkinIni(name, author));
|
zip.AddEntry("skin.ini", generateSkinIni(name, author, makeUnique));
|
||||||
zip.SaveTo(zipStream);
|
zip.SaveTo(zipStream);
|
||||||
return zipStream;
|
return zipStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
private MemoryStream generateSkinIni(string name, string author)
|
private MemoryStream generateSkinIni(string name, string author, bool makeUnique = true)
|
||||||
{
|
{
|
||||||
var stream = new MemoryStream();
|
var stream = new MemoryStream();
|
||||||
var writer = new StreamWriter(stream);
|
var writer = new StreamWriter(stream);
|
||||||
@ -155,8 +177,12 @@ namespace osu.Game.Tests.Skins.IO
|
|||||||
writer.WriteLine("[General]");
|
writer.WriteLine("[General]");
|
||||||
writer.WriteLine($"Name: {name}");
|
writer.WriteLine($"Name: {name}");
|
||||||
writer.WriteLine($"Author: {author}");
|
writer.WriteLine($"Author: {author}");
|
||||||
writer.WriteLine();
|
|
||||||
writer.WriteLine($"# unique {Guid.NewGuid()}");
|
if (makeUnique)
|
||||||
|
{
|
||||||
|
writer.WriteLine();
|
||||||
|
writer.WriteLine($"# unique {Guid.NewGuid()}");
|
||||||
|
}
|
||||||
|
|
||||||
writer.Flush();
|
writer.Flush();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user