@@ -141,7 +141,7 @@ final class URLDecodedFormDecoderTests: XCTestCase {
141
141
return
142
142
}
143
143
XCTAssertEqual ( error. code, . invalidArrayIndex)
144
- XCTAssertEqual ( error. value, " arr " )
144
+ XCTAssertEqual ( error. value, " arr[2] " )
145
145
}
146
146
}
147
147
@@ -295,7 +295,7 @@ final class URLDecodedFormDecoderTests: XCTestCase {
295
295
self . testForm ( ArrayDecoding ( array: [ ] , map: [ : ] , a: 3 ) , query: " a=3 " )
296
296
}
297
297
298
- func testDecodeErrors ( ) throws {
298
+ func testParsingErrors ( ) throws {
299
299
struct Input1 : Decodable { }
300
300
XCTAssertThrowsError ( try URLEncodedFormDecoder ( ) . decode ( Input1 . self, from: " someField=1&someField=2 " ) ) { error in
301
301
guard let error = try ? XCTUnwrap ( error as? URLEncodedFormError ) else {
@@ -305,6 +305,14 @@ final class URLDecodedFormDecoderTests: XCTestCase {
305
305
XCTAssertEqual ( error. code, . duplicateKeys)
306
306
XCTAssertEqual ( error. value, " someField " )
307
307
}
308
+ XCTAssertThrowsError ( try URLEncodedFormDecoder ( ) . decode ( Input1 . self, from: " someField[]=1&someField=2 " ) ) { error in
309
+ guard let error = try ? XCTUnwrap ( error as? URLEncodedFormError ) else {
310
+ XCTFail ( )
311
+ return
312
+ }
313
+ XCTAssertEqual ( error. code, . duplicateKeys)
314
+ XCTAssertEqual ( error. value, " someField " )
315
+ }
308
316
XCTAssertThrowsError ( try URLEncodedFormDecoder ( ) . decode ( Input1 . self, from: " someField=1&someField[]=2 " ) ) { error in
309
317
guard let error = try ? XCTUnwrap ( error as? URLEncodedFormError ) else {
310
318
XCTFail ( )
@@ -321,5 +329,13 @@ final class URLDecodedFormDecoderTests: XCTestCase {
321
329
XCTAssertEqual ( error. code, . addingToInvalidType)
322
330
XCTAssertEqual ( error. value, " someField " )
323
331
}
332
+ XCTAssertThrowsError ( try URLEncodedFormDecoder ( ) . decode ( Input1 . self, from: " someField[=2 " ) ) { error in
333
+ guard let error = try ? XCTUnwrap ( error as? URLEncodedFormError ) else {
334
+ XCTFail ( )
335
+ return
336
+ }
337
+ XCTAssertEqual ( error. code, . corruptKeyValue)
338
+ XCTAssertEqual ( error. value, " someField[ " )
339
+ }
324
340
}
325
341
}
0 commit comments