@@ -2492,13 +2492,19 @@ extension JSONEncoderTests {
2492
2492
prettyPrintEncoder. outputFormatting = . prettyPrinted
2493
2493
2494
2494
for encoder in [ JSONEncoder ( ) , prettyPrintEncoder] {
2495
- let reencodedData = try ! encoder. encode ( decoded)
2496
- let redecodedObjects = try ! decoder. decode ( T . self, from: reencodedData)
2497
- XCTAssertEqual ( decoded, redecodedObjects)
2498
-
2499
- if let plistData {
2500
- let decodedPlistObjects = try ! PropertyListDecoder ( ) . decode ( T . self, from: plistData)
2501
- XCTAssertEqual ( decoded, decodedPlistObjects)
2495
+ do {
2496
+ let reencodedData = try encoder. encode ( decoded)
2497
+ let redecodedObjects = try decoder. decode ( T . self, from: reencodedData)
2498
+ XCTAssertEqual ( decoded, redecodedObjects)
2499
+
2500
+ if let plistData {
2501
+ let decodedPlistObjects = try PropertyListDecoder ( ) . decode ( T . self, from: plistData)
2502
+ XCTAssertEqual ( decoded, decodedPlistObjects)
2503
+
2504
+ }
2505
+ }
2506
+ catch {
2507
+ XCTFail ( " Pass test \" \( name) failed with error: \( error) " )
2502
2508
}
2503
2509
}
2504
2510
}
@@ -2523,6 +2529,7 @@ extension JSONEncoderTests {
2523
2529
_run_passTest ( name: " pass13 " , type: JSONPass . Test13. self)
2524
2530
_run_passTest ( name: " pass14 " , type: JSONPass . Test14. self)
2525
2531
_run_passTest ( name: " pass15 " , type: JSONPass . Test15. self)
2532
+ _run_passTest ( name: " pass16 " , type: JSONPass . Test16. self)
2526
2533
}
2527
2534
2528
2535
func test_json5PassJSONFiles( ) {
@@ -4368,6 +4375,12 @@ extension JSONPass {
4368
4375
}
4369
4376
}
4370
4377
4378
+ extension JSONPass {
4379
+ struct Test16 : Codable , Equatable {
4380
+ var nestedArray : [ Test16 ] ?
4381
+ }
4382
+ }
4383
+
4371
4384
enum JSONFail {
4372
4385
typealias Test1 = String
4373
4386
typealias Test2 = [ String ]
0 commit comments