@@ -6,13 +6,19 @@ class DefaultFalseTests: XCTestCase {
66 @DefaultFalse var truthy : Bool
77 }
88
9- func testDecodingFailableArrayDefaultsToEmptyArray ( ) throws {
9+ func testDecodingFailableArrayDefaultsToFalse ( ) throws {
1010 let jsonData = #"{ "truthy": null }"# . data ( using: . utf8) !
1111 let fixture = try JSONDecoder ( ) . decode ( Fixture . self, from: jsonData)
1212 XCTAssertEqual ( fixture. truthy, false )
1313 }
14+
15+ func testDecodingKeyNotPresentDefaultsToFalse( ) throws {
16+ let jsonData = #"{}"# . data ( using: . utf8) !
17+ let fixture = try JSONDecoder ( ) . decode ( Fixture . self, from: jsonData)
18+ XCTAssertEqual ( fixture. truthy, false )
19+ }
1420
15- func testEncodingDecodedFailableArrayDefaultsToEmptyArray ( ) throws {
21+ func testEncodingDecodedFailableArrayDefaultsToFalse ( ) throws {
1622 let jsonData = #"{ "truthy": null }"# . data ( using: . utf8) !
1723 var _fixture = try JSONDecoder ( ) . decode ( Fixture . self, from: jsonData)
1824
@@ -23,7 +29,7 @@ class DefaultFalseTests: XCTestCase {
2329 XCTAssertEqual ( fixture. truthy, true )
2430 }
2531
26- func testEncodingDecodedFulfillableArrayRetainsContents ( ) throws {
32+ func testEncodingDecodedFulfillableBoolRetainsValue ( ) throws {
2733 let jsonData = #"{ "truthy": true }"# . data ( using: . utf8) !
2834 let _fixture = try JSONDecoder ( ) . decode ( Fixture . self, from: jsonData)
2935 let fixtureData = try JSONEncoder ( ) . encode ( _fixture)
0 commit comments