From a8f828d203f8efab41d9ce23e2e34cc76825db3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Sat, 28 Jan 2023 16:02:11 +0100 Subject: [PATCH] Add another failing test case --- .../Archives/conflicting-filenames-beatmap.osz | Bin 0 -> 6604 bytes .../Skins/TestSceneBeatmapSkinResources.cs | 10 ++++++++++ 2 files changed, 10 insertions(+) create mode 100644 osu.Game.Tests/Resources/Archives/conflicting-filenames-beatmap.osz diff --git a/osu.Game.Tests/Resources/Archives/conflicting-filenames-beatmap.osz b/osu.Game.Tests/Resources/Archives/conflicting-filenames-beatmap.osz new file mode 100644 index 0000000000000000000000000000000000000000..c6b5f083ff6e5f17cb632ae21a29d2ebe58eb963 GIT binary patch literal 6604 zcmeI1cQjmmx5r1cVf4;B812ys5+tG%QAV#(MhymIFj^SVLm1H+EzyaR=v@pWNFroJ ze~6Mqi4q}75bs#;dhc`Zv);SzzxR*)&e~_6z1QAno!>gYKfa%}jrB>%SO5S35U>_; z%hFwYwkwes^$?AZXfD2pd)}TdC{KjD!-vTzL94FSKLVP)kP;RqHO!H2`pf4gjDh?jr!{ zi9opdOA^0W%Gcd}!3u58Y{mBEDT_I(NrK?$snB4}1eCx<#+EBHsHX!=cJ00^JSbF>MxC|5tMus6Oo%YyYp3m<~`VYz)ides6v&xLEwAvBONdyHg*~#XB zIdKWe3CS}C6&3n#23fQCu~l}41F)|hXY0>rZG!=*D_UZoCR$tiVc!oahCd|x)RB*N z_t=X)kY7u9D?Nd4{HhmbM3-)Xr^WgbZrLv1wgwx|#G2q)cK+z__5PNo;VgBuU#(ew z$`pUa!m9--w%yEC?;b|!DnI_N%86&*D46oc0NR&(4VQU=U$57(`?9a_Oz8`%7Sz!j;Yk(k?^oMLD)X z^e+^mSbEk95wdGWg}fQ*oA@;v2f0ERS=O<6y}VFx5KrW8`sA66)b?=W=S2oBlM@_R zZ+oIRrSYLTGG(f6zUL<1b$nW9Zhc5vE5#+I>*Bb4CXBH%(H8xaBHWBXA>0HyHS9!{ zf9-wCctmTs=V9-dZyB`5>xv)a-LX%wWdBNDQ-h{1Q;E(f$yktrt}SISpBpaeg%`w<>N3K8L72jvz? zxcE<=WvWNaK~&v(Aokw^B*lE9u@vAgs)CyyWsVnX`>wAmp!*65rT7@1Mmr(jQjY8OdW=9)FboDzcF$YN@0q@~3z)4bW6Z@mdT_owUZbttINqO~LsA zB*kkkoBE&|;1$A1+rD8&U$d=nj7yBI>wGAV8=?Y{M%Hb#6Pk+{p2uWTjrwgo&gF#P z>x7wBfJYqp4|V)9K9=93c6j-k-Icm*B0S2NIT(BLlMIH$isq7;r7B(1jn>_W)mTmi z-MeNw#Gn2Zmc^I)?i=F}TNIiE>rlmJC`!#cNY!gpXxy#B#|{-M>!2pHF&O<&HfyWJ zOkG{79osFQ=a8J2D!_c@eKQza&*X-F1Z00E%+jJ@s}*X)&sR-tQ#;zy_V!I0R>EW| zo7?gFw1bjT`LHiWpB>=(NtSuU6cTEafEI&mVEByo8J$?wZZ}r29%w zgUMiADle#!jYT8u%~mEV2;>Z70kXq!V)5aoQK^dz;jls*3ng*(h34r+mTUo;yqZUw zXKWkZt#^ihddS<#HO=r}F`gxO66lIAin@n%zOX-ATQq}^e3q*RO;M`2^KxW+GiMO` zr#3mA{1&?~O=UAe4cs-n%>B2@XWR4x=Lhe? zjBX39mYz>PuKtk&``K5sjYrr z>!DTaF`Zu3L)mx$nyJ|eCiuZDjtkzimtp~PzWxvV?TmJ4LFq#E^+zTks8>Z&%Su73 zb6soKq;<*l95|-u$L+ax6X&Lcmh3Rgq=U?kx5ezM6S8$_5w8iWS3h=nT?b++j^^>{ z@_;x{e%PXKM)*C&nyxKm|9)Q?<&8*2LE{4gYdq8k=W7igE>wr_omuLJJSYQ2X_c? zgC-LpWOAitbVx%rpi~0jtC(4yIK!vgl~B4wHDGjR-k3o?MWu(BkH4DOhdcWZwVKq9 z%}jQp`xi@wo2~KMz|AS2on(g+#pM(Hqdr4T6iAEia&Pe06Bv7BPjW%R5mJU7ezWs1>(6Q2=WXMBf6wwxhUF`*(#RSw& zA?p^&6fKiDy{X}J%5EKN6l9yN*bV*Cs!1@l-6qdAWxpc`tl8B|aT0cnBdkZMq`rE< z;dU&@{M5E)N`0^BeGi89>V#_7Conz#^T z0Z*V2uKq@yqbJ_p#|0uQR^+YX?_YUgKfj9~Ivkstbly^wOQyv?gPpNB8TtO0h||_Bgz%;D&FBR43dL zBZpZqy7W9TnE~u0;T8|M%vXFLbYFR7Rlgl-vDWr+f;WJqN;)$tFX%X3tXO6_qlKz9 zdDLsRy0)f{d|oJj+FiaOLFZF1NqX!?8~=3V7BqfXKs-@U_J_=TR|?6anNASiq9yuQ zTF?{PD8v5YM_LyAA5c|=0h_V1;e)&N1?t^1i{2|cTYVw@&vJ8Tm2nC@&m0IX?%#LQ z_xfK^c9N%9C^h?)wpL!?hdacl5euQ~80izu$9y7RXx;1!>4*0pJBR#`5{;*!)M5e=Ax5ASm>fC2qC6N#F_qaA|*6 zv`B<|qOqY4Ej1TW@&age?`WA4J;|j3iRFOQV6#QybDXE9rm?Q3CIsp4dnx7t0Fg9w zn)00iW0p80v+@!PN~HwUuyLV8!XrgJ)+EQ`X4bobS3@^=uX)}vwF8q+N5`lpSx~aO z+jHBItAC@!PY&w7*VgNn7Hv-0>t96|1dlEEoC1nXoSw~IC#lMFD_fC~$+u-Ceg2Iv zndAT`En{X>#xD1*_IcQ5MQ74?iQQh+8rVoa&9_8+fPsR<3hfFOs=wB41a=nE&n zQCN@0Keo%Uk65)sSubJv1Tyl3=@^p+>9Un_vuLtH@)S#|xITkya#-Kl7EJ14T6RWY z9B;kEJ?kf^1yY0rQ)7Xg*E3C`;zYK&ME@{F@$7$ltoTc?!__|vH{1{@W_~Ay_l!Pb zY)Zla+Nq1<7(aKO=PgxpWcQfzIX#_e%@>Zm;A|(%{eqL`o(uLYPVwvXEy*MO7N$Na zFZok)L=c2D{RLGei;V$`W9#|;edChjU0>eS1*S|;LNuH1_L9)iMK$odJrC>dstiC} z95#PBB8BAo$8RWz-5~xKD&!rT002Nr;L=D!%2k7iNlKJ1RGV^*1WX4KFW-VD6H}Zh zZEKXKuaA!#0tL|YC(@UjD4H?XTuM o(En^Ea@$|c|5=v*tNHT2N&DYKy0Jbv#buI=cwK^CE5~K@Pp2UvvH$=8 literal 0 HcmV?d00001 diff --git a/osu.Game.Tests/Skins/TestSceneBeatmapSkinResources.cs b/osu.Game.Tests/Skins/TestSceneBeatmapSkinResources.cs index 0bcaf217ab..d9212386c3 100644 --- a/osu.Game.Tests/Skins/TestSceneBeatmapSkinResources.cs +++ b/osu.Game.Tests/Skins/TestSceneBeatmapSkinResources.cs @@ -35,6 +35,16 @@ namespace osu.Game.Tests.Skins }); } + [Test] + public void TestRetrievalWithConflictingFilenames() + { + IWorkingBeatmap beatmap = null!; + + AddStep("import beatmap", () => beatmap = importBeatmapFromArchives(@"conflicting-filenames-beatmap.osz")); + AddAssert("texture is non-null", () => beatmap.Skin.GetTexture(@"spinner-osu") != null); + AddAssert("sample is non-null", () => beatmap.Skin.GetSample(new SampleInfo(@"spinner-osu")) != null); + } + private IWorkingBeatmap importBeatmapFromArchives(string filename) { var imported = beatmaps.Import(new ImportTask(TestResources.OpenResource($@"Archives/{filename}"), filename)).GetResultSafely();