File tree Expand file tree Collapse file tree
Common/tests/System/IO/Compression
System.IO.Compression.ZipFile/tests Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -336,9 +336,22 @@ public static async Task DirsEqual(string actual, string expected)
336336
337337 public static void DirFileNamesEqual ( string actual , string expected )
338338 {
339- IOrderedEnumerable < string > actualEntries = Directory . EnumerateFileSystemEntries ( actual , "*" , SearchOption . AllDirectories ) . Order ( ) ;
340- IOrderedEnumerable < string > expectedEntries = Directory . EnumerateFileSystemEntries ( expected , "*" , SearchOption . AllDirectories ) . Order ( ) ;
341- AssertExtensions . SequenceEqual ( expectedEntries . Select ( Path . GetFileName ) . ToArray ( ) , actualEntries . Select ( Path . GetFileName ) . ToArray ( ) ) ;
339+ IEnumerable < string > actualEntries = Directory . EnumerateFileSystemEntries ( actual , "*" , SearchOption . AllDirectories ) . Select ( Path . GetFileName ) ;
340+ IEnumerable < string > expectedEntries = Directory . EnumerateFileSystemEntries ( expected , "*" , SearchOption . AllDirectories ) . Select ( Path . GetFileName ) ;
341+
342+ if ( PlatformDetection . IsiOS || PlatformDetection . IstvOS )
343+ {
344+ // iOS/tvOS filesystems use NFD by default for non-ASCII characters, so we normalize to NFC for cross-platform comparison
345+ actualEntries = actualEntries . Select ( name => name . Normalize ( NormalizationForm . FormC ) ) . Order ( ) ;
346+ expectedEntries = expectedEntries . Select ( name => name . Normalize ( NormalizationForm . FormC ) ) . Order ( ) ;
347+ }
348+ else
349+ {
350+ actualEntries = actualEntries . Order ( ) ;
351+ expectedEntries = expectedEntries . Order ( ) ;
352+ }
353+
354+ AssertExtensions . SequenceEqual ( actualEntries . ToArray ( ) , expectedEntries . ToArray ( ) ) ;
342355 }
343356
344357 private static async Task ItemEqual ( string [ ] actualList , List < FileData > expectedList , bool isFile )
Original file line number Diff line number Diff line change @@ -79,7 +79,6 @@ public async Task ExtractToDirectoryNormal_Unwritable_Unseekable(string file, st
7979
8080 [ Theory ]
8181 [ MemberData ( nameof ( Get_Booleans_Data ) ) ]
82- [ ActiveIssue ( "https://github.com/dotnet/runtime/issues/72951" , TestPlatforms . iOS | TestPlatforms . tvOS ) ]
8382 public async Task ExtractToDirectoryUnicode( bool async )
8483 {
8584 FileStream source = CreateFileStreamRead( async , zfile ( "unicode. zip ") ) ;
Original file line number Diff line number Diff line change @@ -44,7 +44,6 @@ public async Task ExtractToDirectoryNull(bool async)
4444
4545 [ Theory ]
4646 [ MemberData ( nameof ( Get_Booleans_Data ) ) ]
47- [ ActiveIssue ( "https://github.com/dotnet/runtime/issues/72951" , TestPlatforms . iOS | TestPlatforms . tvOS ) ]
4847 public async Task ExtractToDirectoryUnicode ( bool async )
4948 {
5049 string zipFileName = zfile ( "unicode.zip" ) ;
Original file line number Diff line number Diff line change @@ -24,7 +24,6 @@ public async Task ExtractToDirectoryExtension(bool async)
2424 await DisposeZipArchive ( async , archive ) ;
2525 }
2626
27- [ ActiveIssue ( "https://github.com/dotnet/runtime/issues/72951" , TestPlatforms . iOS | TestPlatforms . tvOS ) ]
2827 [ Theory ]
2928 [ MemberData ( nameof ( Get_Booleans_Data ) ) ]
3029 public async Task ExtractToDirectoryExtension_Unicode( bool async )
You can’t perform that action at this time.
0 commit comments