@@ -1415,6 +1415,7 @@ extension TestJSONSerialization {
1415
1415
}
1416
1416
1417
1417
func test_jsonObjectToOutputStreamInsufficientBuffer( ) {
1418
+ #if !DARWIN_COMPATIBILITY_TESTS // Hangs
1418
1419
let dict = [ " a " : [ " b " : 1 ] ]
1419
1420
let buffer = Array < UInt8 > ( repeating: 0 , count: 10 )
1420
1421
let outputStream = OutputStream ( toBuffer: UnsafeMutablePointer ( mutating: buffer) , capacity: buffer. count)
@@ -1428,6 +1429,7 @@ extension TestJSONSerialization {
1428
1429
} catch {
1429
1430
XCTFail ( " Error occurred while writing to stream " )
1430
1431
}
1432
+ #endif
1431
1433
}
1432
1434
1433
1435
func test_booleanJSONObject( ) {
@@ -1469,18 +1471,23 @@ extension TestJSONSerialization {
1469
1471
XCTFail ( " Failed during serialization " )
1470
1472
}
1471
1473
}
1472
-
1473
- func test_serializeSortedKeys( ) {
1474
- var dict : [ String : Any ]
1475
-
1476
- dict = [ " z " : 1 , " y " : 1 , " x " : 1 , " w " : 1 , " v " : 1 , " u " : 1 , " t " : 1 , " s " : 1 , " r " : 1 , " q " : 1 , ]
1477
- XCTAssertEqual ( try trySerialize ( dict, options: . sortedKeys) , " { \" q \" :1, \" r \" :1, \" s \" :1, \" t \" :1, \" u \" :1, \" v \" :1, \" w \" :1, \" x \" :1, \" y \" :1, \" z \" :1} " )
1478
-
1479
- dict = [ " aaaa " : 1 , " aaa " : 1 , " aa " : 1 , " a " : 1 ]
1480
- XCTAssertEqual ( try trySerialize ( dict, options: . sortedKeys) , " { \" a \" :1, \" aa \" :1, \" aaa \" :1, \" aaaa \" :1} " )
1481
1474
1482
- dict = [ " c " : [ " c " : 1 , " b " : 1 , " a " : 1 ] , " b " : [ " c " : 1 , " b " : 1 , " a " : 1 ] , " a " : [ " c " : 1 , " b " : 1 , " a " : 1 ] ]
1483
- XCTAssertEqual ( try trySerialize ( dict, options: . sortedKeys) , " { \" a \" :{ \" a \" :1, \" b \" :1, \" c \" :1}, \" b \" :{ \" a \" :1, \" b \" :1, \" c \" :1}, \" c \" :{ \" a \" :1, \" b \" :1, \" c \" :1}} " )
1475
+ func test_serializeSortedKeys( ) {
1476
+ let dict1 = [ " z " : 1 , " y " : 1 , " x " : 1 , " w " : 1 , " v " : 1 , " u " : 1 , " t " : 1 , " s " : 1 , " r " : 1 , " q " : 1 , ]
1477
+ let dict2 = [ " aaaa " : 1 , " aaa " : 1 , " aa " : 1 , " a " : 1 ]
1478
+ let dict3 = [ " c " : [ " c " : 1 , " b " : 1 , " a " : 1 ] , " b " : [ " c " : 1 , " b " : 1 , " a " : 1 ] , " a " : [ " c " : 1 , " b " : 1 , " a " : 1 ] ]
1479
+
1480
+ #if DARWIN_COMPATIBILITY_TESTS
1481
+ if #available( OSX 10 . 13 , * ) {
1482
+ XCTAssertEqual ( try trySerialize ( dict1, options: . sortedKeys) , " { \" q \" :1, \" r \" :1, \" s \" :1, \" t \" :1, \" u \" :1, \" v \" :1, \" w \" :1, \" x \" :1, \" y \" :1, \" z \" :1} " )
1483
+ XCTAssertEqual ( try trySerialize ( dict2, options: . sortedKeys) , " { \" a \" :1, \" aa \" :1, \" aaa \" :1, \" aaaa \" :1} " )
1484
+ XCTAssertEqual ( try trySerialize ( dict3, options: . sortedKeys) , " { \" a \" :{ \" a \" :1, \" b \" :1, \" c \" :1}, \" b \" :{ \" a \" :1, \" b \" :1, \" c \" :1}, \" c \" :{ \" a \" :1, \" b \" :1, \" c \" :1}} " )
1485
+ }
1486
+ #else
1487
+ XCTAssertEqual ( try trySerialize ( dict1, options: . sortedKeys) , " { \" q \" :1, \" r \" :1, \" s \" :1, \" t \" :1, \" u \" :1, \" v \" :1, \" w \" :1, \" x \" :1, \" y \" :1, \" z \" :1} " )
1488
+ XCTAssertEqual ( try trySerialize ( dict2, options: . sortedKeys) , " { \" a \" :1, \" aa \" :1, \" aaa \" :1, \" aaaa \" :1} " )
1489
+ XCTAssertEqual ( try trySerialize ( dict3, options: . sortedKeys) , " { \" a \" :{ \" a \" :1, \" b \" :1, \" c \" :1}, \" b \" :{ \" a \" :1, \" b \" :1, \" c \" :1}, \" c \" :{ \" a \" :1, \" b \" :1, \" c \" :1}} " )
1490
+ #endif
1484
1491
}
1485
1492
1486
1493
func test_serializePrettyPrinted( ) {
0 commit comments