77// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
88//
99
10- // Exposing internal ReadingOptions for tests.
11- extension JSONSerialization . ReadingOptions {
12- fileprivate static let useReferenceNumericTypes = JSONSerialization . ReadingOptions ( rawValue: 1 << 15 )
13- }
14-
1510class TestJSONSerialization : XCTestCase {
1611
1712 let supportedEncodings : [ String . Encoding ] = [
@@ -477,7 +472,7 @@ extension TestJSONSerialization {
477472 XCTFail ( " Unable to convert string to data " )
478473 return
479474 }
480- let result = try getjsonObjectResult ( data, objectType, options : [ . useReferenceNumericTypes ] ) as? [ Any ]
475+ let result = try getjsonObjectResult ( data, objectType) as? [ Any ]
481476 XCTAssertEqual ( result ? [ 0 ] as? NSNumber , true )
482477 XCTAssertEqual ( result ? [ 1 ] as? NSNumber , false )
483478 XCTAssertEqual ( result ? [ 2 ] as? String , " hello " )
@@ -492,7 +487,7 @@ extension TestJSONSerialization {
492487
493488 //MARK: - Number parsing
494489 func deserialize_numbers( objectType: ObjectType ) {
495- let subject = " [1, -1, 1.3, -1.3, 1e3, 1E-3] "
490+ let subject = " [1, -1, 1.3, -1.3, 1e3, 1E-3, 10 ] "
496491
497492 do {
498493 for encoding in supportedEncodings {
@@ -501,33 +496,38 @@ extension TestJSONSerialization {
501496 return
502497 }
503498 let result = try getjsonObjectResult ( data, objectType) as? [ Any ]
504- XCTAssertEqual ( result ? [ 0 ] as? Int , 1 )
505- XCTAssertEqual ( result ? [ 1 ] as? Int , - 1 )
506- XCTAssertEqual ( result ? [ 2 ] as? Double , 1.3 )
507- XCTAssertEqual ( result ? [ 3 ] as? Double , - 1.3 )
508- XCTAssertEqual ( result ? [ 4 ] as? Int , 1000 )
499+ XCTAssertEqual ( result ? [ 0 ] as? Int , 1 )
500+ XCTAssertEqual ( result ? [ 1 ] as? Int , - 1 )
501+ XCTAssertEqual ( result ? [ 2 ] as? Double , 1.3 )
502+ XCTAssertEqual ( result ? [ 3 ] as? Double , - 1.3 )
503+ XCTAssertEqual ( result ? [ 4 ] as? Int , 1000 )
509504 XCTAssertEqual ( result ? [ 5 ] as? Double , 0.001 )
505+ XCTAssertEqual ( result ? [ 6 ] as? Int , 10 )
506+ XCTAssertEqual ( result ? [ 6 ] as? Double , 10.0 )
510507 }
511508 } catch {
512509 XCTFail ( " Unexpected error: \( error) " )
513510 }
514511 }
512+
515513 func deserialize_numbers_as_reference_types( objectType: ObjectType ) {
516- let subject = " [1, -1, 1.3, -1.3, 1e3, 1E-3] "
514+ let subject = " [1, -1, 1.3, -1.3, 1e3, 1E-3, 10 ] "
517515
518516 do {
519517 for encoding in supportedEncodings {
520518 guard let data = subject. data ( using: encoding) else {
521519 XCTFail ( " Unable to convert string to data " )
522520 return
523521 }
524- let result = try getjsonObjectResult ( data, objectType, options : [ . useReferenceNumericTypes ] ) as? [ Any ]
522+ let result = try getjsonObjectResult ( data, objectType) as? [ Any ]
525523 XCTAssertEqual ( result ? [ 0 ] as? NSNumber , 1 )
526524 XCTAssertEqual ( result ? [ 1 ] as? NSNumber , - 1 )
527525 XCTAssertEqual ( result ? [ 2 ] as? NSNumber , 1.3 )
528526 XCTAssertEqual ( result ? [ 3 ] as? NSNumber , - 1.3 )
529527 XCTAssertEqual ( result ? [ 4 ] as? NSNumber , 1000 )
530528 XCTAssertEqual ( result ? [ 5 ] as? NSNumber , 0.001 )
529+ XCTAssertEqual ( result ? [ 6 ] as? NSNumber , 10 )
530+ XCTAssertEqual ( result ? [ 6 ] as? NSNumber , 10.0 )
531531 }
532532 } catch {
533533 XCTFail ( " Unexpected error: \( error) " )
@@ -1449,7 +1449,7 @@ extension TestJSONSerialization {
14491449 }
14501450 do {
14511451 let data = decimalArray. data ( using: String . Encoding. utf8)
1452- let result = try JSONSerialization . jsonObject ( with: data!, options: [ . useReferenceNumericTypes ] ) as? [ Any ]
1452+ let result = try JSONSerialization . jsonObject ( with: data!, options: [ ] ) as? [ Any ]
14531453 XCTAssertEqual ( result ? [ 0 ] as! NSNumber , 12.1 )
14541454 XCTAssertEqual ( result ? [ 1 ] as! NSNumber , 10 )
14551455 XCTAssertEqual ( result ? [ 2 ] as! NSNumber , 0 )
0 commit comments