@@ -79,6 +79,7 @@ describe('parse()', () => {
79
79
expect ( parsed . mime ) . to . equal ( 'application/json' ) ;
80
80
Wreck . read ( parsed . payload , null , ( err , result ) => {
81
81
82
+ expect ( err ) . to . not . exist ( ) ;
82
83
expect ( result . toString ( ) ) . to . equal ( payload ) ;
83
84
done ( ) ;
84
85
} ) ;
@@ -99,6 +100,7 @@ describe('parse()', () => {
99
100
expect ( parsed . mime ) . to . equal ( 'application/json' ) ;
100
101
Wreck . read ( parsed . payload , null , ( err , result ) => {
101
102
103
+ expect ( err ) . to . not . exist ( ) ;
102
104
expect ( result . toString ( ) ) . to . equal ( payload ) ;
103
105
done ( ) ;
104
106
} ) ;
@@ -316,6 +318,7 @@ describe('parse()', () => {
316
318
317
319
Zlib . gzip ( sourceContents , ( err , compressed ) => {
318
320
321
+ expect ( err ) . to . not . exist ( ) ;
319
322
const request = Wreck . toReadableStream ( compressed ) ;
320
323
request . headers = {
321
324
'content-encoding' : 'gzip'
@@ -341,6 +344,7 @@ describe('parse()', () => {
341
344
342
345
Zlib . gzip ( sourceContents , ( err , compressed ) => {
343
346
347
+ expect ( err ) . to . not . exist ( ) ;
344
348
const request = Wreck . toReadableStream ( compressed ) ;
345
349
request . headers = {
346
350
'content-encoding' : 'gzip' ,
@@ -587,57 +591,6 @@ describe('parse()', () => {
587
591
} ) ;
588
592
} ) ;
589
593
590
- it ( 'parses form encoded payload (array keys)' , ( done ) => {
591
-
592
- const payload = 'x[y]=1&x[z]=2' ;
593
- const request = Wreck . toReadableStream ( payload ) ;
594
- request . headers = {
595
- 'content-type' : 'application/x-www-form-urlencoded'
596
- } ;
597
-
598
- Subtext . parse ( request , null , { parse : true , output : 'data' } , ( err , parsed ) => {
599
-
600
- expect ( err ) . to . not . exist ( ) ;
601
- expect ( parsed . mime ) . to . equal ( 'application/x-www-form-urlencoded' ) ;
602
- expect ( parsed . payload ) . to . deep . equal ( { x : { y : '1' , z : '2' } } ) ;
603
- done ( ) ;
604
- } ) ;
605
- } ) ;
606
-
607
- it ( 'parses form encoded payload (with qs arraylimit set to 0)' , ( done ) => {
608
-
609
- const payload = 'x[0]=1&x[100]=2' ;
610
- const request = Wreck . toReadableStream ( payload ) ;
611
- request . headers = {
612
- 'content-type' : 'application/x-www-form-urlencoded'
613
- } ;
614
-
615
- Subtext . parse ( request , null , { parse : true , output : 'data' , qs : { arrayLimit : 0 } } , ( err , parsed ) => {
616
-
617
- expect ( err ) . to . not . exist ( ) ;
618
- expect ( parsed . mime ) . to . equal ( 'application/x-www-form-urlencoded' ) ;
619
- expect ( parsed . payload ) . to . deep . equal ( { x : { 0 : '1' , 100 : '2' } } ) ;
620
- done ( ) ;
621
- } ) ;
622
- } ) ;
623
-
624
- it ( 'parses form encoded payload (with qs arraylimit set to 30) as flat zero indexed array' , ( done ) => {
625
-
626
- const payload = 'x[0]=0&x[1]=1&x[2]=2&x[3]=3&x[4]=4&x[5]=5&x[6]=6&x[7]=7&x[8]=8&x[9]=9&x[10]=10&x[11]=11&x[12]=12&x[13]=13&x[14]=14&x[15]=15&x[16]=16&x[17]=17&x[18]=18&x[19]=19&x[20]=20&x[21]=21&x[22]=22&x[23]=23&x[24]=24&x[25]=25&x[26]=26&x[27]=27&x[28]=28&x[29]=29&' ;
627
- const request = Wreck . toReadableStream ( payload ) ;
628
- request . headers = {
629
- 'content-type' : 'application/x-www-form-urlencoded'
630
- } ;
631
-
632
- Subtext . parse ( request , null , { parse : true , output : 'data' , qs : { arrayLimit : 30 } } , ( err , parsed ) => {
633
-
634
- expect ( err ) . to . not . exist ( ) ;
635
- expect ( parsed . mime ) . to . equal ( 'application/x-www-form-urlencoded' ) ;
636
- expect ( parsed . payload ) . to . deep . equal ( { x : [ '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' , '12' , '13' , '14' , '15' , '16' , '17' , '18' , '19' , '20' , '21' , '22' , '23' , '24' , '25' , '26' , '27' , '28' , '29' ] } ) ;
637
- done ( ) ;
638
- } ) ;
639
- } ) ;
640
-
641
594
it ( 'errors on malformed zipped payload' , ( done ) => {
642
595
643
596
const payload = '7d8d78347h8347d58w347hd58w374d58w37h5d8w37hd4' ;
@@ -677,6 +630,7 @@ describe('parse()', () => {
677
630
const payload = '{"x":"1","y":"2","z":"3"}' ;
678
631
Zlib . gzip ( payload , ( err , compressed ) => {
679
632
633
+ expect ( err ) . to . not . exist ( ) ;
680
634
const request = Wreck . toReadableStream ( compressed ) ;
681
635
request . headers = {
682
636
'content-encoding' : 'gzip' ,
@@ -697,6 +651,7 @@ describe('parse()', () => {
697
651
const payload = '{"x":"1","y":"2","z":"3"}' ;
698
652
Zlib . gzip ( payload , ( err , compressed ) => {
699
653
654
+ expect ( err ) . to . not . exist ( ) ;
700
655
const request = Wreck . toReadableStream ( compressed ) ;
701
656
request . headers = {
702
657
'content-encoding' : 'gzip' ,
@@ -717,6 +672,7 @@ describe('parse()', () => {
717
672
const payload = '{"x":"1","y":"2","z":"3"}' ;
718
673
Zlib . deflate ( payload , ( err , compressed ) => {
719
674
675
+ expect ( err ) . to . not . exist ( ) ;
720
676
const request = Wreck . toReadableStream ( compressed ) ;
721
677
request . headers = {
722
678
'content-encoding' : 'deflate' ,
@@ -737,6 +693,7 @@ describe('parse()', () => {
737
693
const payload = '{"x":"1","y":"2","z":"3"}' ;
738
694
Zlib . deflate ( payload , ( err , compressed ) => {
739
695
696
+ expect ( err ) . to . not . exist ( ) ;
740
697
const request = Wreck . toReadableStream ( compressed ) ;
741
698
request . headers = {
742
699
'content-encoding' : 'deflate' ,
@@ -800,55 +757,7 @@ describe('parse()', () => {
800
757
} ) ;
801
758
} ) ;
802
759
803
- it ( 'parses a multipart payload with qs arraylimit set to zero' , ( done ) => {
804
-
805
- const payload =
806
- '--AaB03x\r\n' +
807
- 'content-disposition: form-data; name="x[0]"\r\n' +
808
- '\r\n' +
809
- 'First\r\n' +
810
- '--AaB03x\r\n' +
811
- 'content-disposition: form-data; name="x[1]"\r\n' +
812
- '\r\n' +
813
- 'Second\r\n' +
814
- '--AaB03x\r\n' +
815
- 'content-disposition: form-data; name="x[30]"\r\n' +
816
- '\r\n' +
817
- 'Third\r\n' +
818
- '--AaB03x\r\n' +
819
- 'content-disposition: form-data; name="field1"\r\n' +
820
- '\r\n' +
821
- 'Joe Blow\r\nalmost tricked you!\r\n' +
822
- '--AaB03x\r\n' +
823
- 'content-disposition: form-data; name="field1"\r\n' +
824
- '\r\n' +
825
- 'Repeated name segment\r\n' +
826
- '--AaB03x\r\n' +
827
- 'content-disposition: form-data; name="pics"; filename="file1.txt"\r\n' +
828
- 'Content-Type: text/plain\r\n' +
829
- '\r\n' +
830
- '... contents of file1.txt ...\r\r\n' +
831
- '--AaB03x--\r\n' ;
832
-
833
- const request = Wreck . toReadableStream ( payload ) ;
834
- request . headers = {
835
- 'content-type' : 'multipart/form-data; boundary=AaB03x'
836
- } ;
837
-
838
- Subtext . parse ( request , null , { parse : true , output : 'data' , qs : { arrayLimit : 0 } } , ( err , parsed ) => {
839
-
840
- expect ( err ) . to . not . exist ( ) ;
841
- expect ( parsed . payload ) . to . deep . equal ( {
842
- x : { '0' : 'First' , '1' : 'Second' , '30' : 'Third' } ,
843
- field1 : [ 'Joe Blow\r\nalmost tricked you!' , 'Repeated name segment' ] ,
844
- pics : '... contents of file1.txt ...\r'
845
- } ) ;
846
-
847
- done ( ) ;
848
- } ) ;
849
- } ) ;
850
-
851
- it ( 'parses a multipart payload' , ( done ) => {
760
+ it ( 'parses a multipart payload (ignores unknown mime type)' , ( done ) => {
852
761
853
762
const payload =
854
763
'--AaB03x\r\n' +
@@ -873,7 +782,7 @@ describe('parse()', () => {
873
782
'Repeated name segment\r\n' +
874
783
'--AaB03x\r\n' +
875
784
'content-disposition: form-data; name="pics"; filename="file1.txt"\r\n' +
876
- 'Content-Type: text/plain \r\n' +
785
+ 'Content-Type: unknown/X \r\n' +
877
786
'\r\n' +
878
787
'... contents of file1.txt ...\r\r\n' +
879
788
'--AaB03x--\r\n' ;
@@ -889,7 +798,7 @@ describe('parse()', () => {
889
798
expect ( parsed . payload ) . to . deep . equal ( {
890
799
x : [ 'First' , 'Second' , 'Third' ] ,
891
800
field1 : [ 'Joe Blow\r\nalmost tricked you!' , 'Repeated name segment' ] ,
892
- pics : '... contents of file1.txt ...\r'
801
+ pics : new Buffer ( '... contents of file1.txt ...\r' )
893
802
} ) ;
894
803
895
804
done ( ) ;
@@ -1061,10 +970,13 @@ describe('parse()', () => {
1061
970
1062
971
Wreck . read ( parsed . payload . files [ 1 ] , null , ( err , payload2 ) => {
1063
972
973
+ expect ( err ) . to . not . exist ( ) ;
1064
974
Wreck . read ( parsed . payload . files [ 0 ] , null , ( err , payload1 ) => {
1065
975
976
+ expect ( err ) . to . not . exist ( ) ;
1066
977
Wreck . read ( parsed . payload . files [ 2 ] , null , ( err , payload3 ) => {
1067
978
979
+ expect ( err ) . to . not . exist ( ) ;
1068
980
expect ( payload1 . toString ( ) ) . to . equal ( 'one' ) ;
1069
981
expect ( payload2 . toString ( ) ) . to . equal ( 'two' ) ;
1070
982
expect ( payload3 . toString ( ) ) . to . equal ( 'three' ) ;
@@ -1349,61 +1261,6 @@ describe('parse()', () => {
1349
1261
} ) ;
1350
1262
} ) ;
1351
1263
1352
- it ( 'parses field names with arrays' , ( done ) => {
1353
-
1354
- const payload = '--AaB03x\r\n' +
1355
- 'Content-Disposition: form-data; name="a[b]"\r\n' +
1356
- '\r\n' +
1357
- '3\r\n' +
1358
- '--AaB03x\r\n' +
1359
- 'Content-Disposition: form-data; name="a[c]"\r\n' +
1360
- '\r\n' +
1361
- '4\r\n' +
1362
- '--AaB03x--\r\n' ;
1363
-
1364
- const request = Wreck . toReadableStream ( payload ) ;
1365
- request . headers = {
1366
- 'content-type' : 'multipart/form-data; boundary=AaB03x'
1367
- } ;
1368
-
1369
- Subtext . parse ( request , null , { parse : true , output : 'data' } , ( err , parsed ) => {
1370
-
1371
- expect ( err ) . to . not . exist ( ) ;
1372
- expect ( parsed . payload . a . b + parsed . payload . a . c ) . to . equal ( '34' ) ;
1373
- done ( ) ;
1374
- } ) ;
1375
- } ) ;
1376
-
1377
- it ( 'parses field names with arrays and file' , ( done ) => {
1378
-
1379
- const payload = '----WebKitFormBoundaryE19zNvXGzXaLvS5C\r\n' +
1380
- 'Content-Disposition: form-data; name="a[b]"\r\n' +
1381
- '\r\n' +
1382
- '3\r\n' +
1383
- '----WebKitFormBoundaryE19zNvXGzXaLvS5C\r\n' +
1384
- 'Content-Disposition: form-data; name="a[c]"\r\n' +
1385
- '\r\n' +
1386
- '4\r\n' +
1387
- '----WebKitFormBoundaryE19zNvXGzXaLvS5C\r\n' +
1388
- 'Content-Disposition: form-data; name="file"; filename="test.txt"\r\n' +
1389
- 'Content-Type: plain/text\r\n' +
1390
- '\r\n' +
1391
- 'and\r\n' +
1392
- '----WebKitFormBoundaryE19zNvXGzXaLvS5C--\r\n' ;
1393
-
1394
- const request = Wreck . toReadableStream ( payload ) ;
1395
- request . headers = {
1396
- 'content-type' : 'multipart/form-data; boundary="--WebKitFormBoundaryE19zNvXGzXaLvS5C"'
1397
- } ;
1398
-
1399
- Subtext . parse ( request , null , { parse : true , output : 'data' } , ( err , parsed ) => {
1400
-
1401
- expect ( err ) . to . not . exist ( ) ;
1402
- expect ( parsed . payload . a . b + parsed . payload . file + parsed . payload . a . c ) . to . equal ( '3and4' ) ;
1403
- done ( ) ;
1404
- } ) ;
1405
- } ) ;
1406
-
1407
1264
it ( 'cleans file when stream is aborted' , ( done ) => {
1408
1265
1409
1266
const path = Path . join ( __dirname , 'file' ) ;
@@ -1414,6 +1271,7 @@ describe('parse()', () => {
1414
1271
1415
1272
Subtext . parse ( req , null , { parse : false , output : 'file' , uploads : path } , ( err , parsed ) => {
1416
1273
1274
+ expect ( err ) . to . exist ( ) ;
1417
1275
expect ( Fs . readdirSync ( path ) . length ) . to . equal ( count ) ;
1418
1276
done ( ) ;
1419
1277
} ) ;
@@ -1431,7 +1289,7 @@ describe('parse()', () => {
1431
1289
1432
1290
const req = Http . request ( options , ( res ) => { } ) ;
1433
1291
1434
- req . on ( 'error' , ( err ) => { } ) ;
1292
+ req . on ( 'error' , ( ) => { } ) ;
1435
1293
1436
1294
const random = new Buffer ( 100000 ) ;
1437
1295
req . write ( random ) ;
@@ -1480,7 +1338,7 @@ describe('parse()', () => {
1480
1338
Subtext . parse ( form , null , { parse : true , output : 'stream' , timeout : 1 } , ( err , parsed ) => {
1481
1339
1482
1340
expect ( err ) . to . exist ( ) ;
1483
- expect ( err . message ) . to . equal ( 'Request Timeout ' ) ;
1341
+ expect ( err . message ) . to . equal ( 'Request Time-out ' ) ;
1484
1342
expect ( err . output . statusCode ) . to . equal ( 408 ) ;
1485
1343
done ( ) ;
1486
1344
} ) ;
@@ -1498,7 +1356,7 @@ describe('parse()', () => {
1498
1356
Subtext . parse ( form , null , { parse : true , output : 'file' , timeout : 1 } , ( err , parsed ) => {
1499
1357
1500
1358
expect ( err ) . to . exist ( ) ;
1501
- expect ( err . message ) . to . equal ( 'Request Timeout ' ) ;
1359
+ expect ( err . message ) . to . equal ( 'Request Time-out ' ) ;
1502
1360
expect ( err . output . statusCode ) . to . equal ( 408 ) ;
1503
1361
done ( ) ;
1504
1362
} ) ;
0 commit comments