@@ -1415,6 +1415,7 @@ extension TestJSONSerialization {
14151415 }
14161416
14171417 func test_jsonObjectToOutputStreamInsufficientBuffer( ) {
1418+ #if !DARWIN_COMPATIBILITY_TESTS // Hangs
14181419 let dict = [ " a " : [ " b " : 1 ] ]
14191420 let buffer = Array < UInt8 > ( repeating: 0 , count: 10 )
14201421 let outputStream = OutputStream ( toBuffer: UnsafeMutablePointer ( mutating: buffer) , capacity: buffer. count)
@@ -1428,6 +1429,7 @@ extension TestJSONSerialization {
14281429 } catch {
14291430 XCTFail ( " Error occurred while writing to stream " )
14301431 }
1432+ #endif
14311433 }
14321434
14331435 func test_booleanJSONObject( ) {
@@ -1469,18 +1471,23 @@ extension TestJSONSerialization {
14691471 XCTFail ( " Failed during serialization " )
14701472 }
14711473 }
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} " )
14811474
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
14841491 }
14851492
14861493 func test_serializePrettyPrinted( ) {
0 commit comments