2
2
3
3
var assert = require ( 'assert' )
4
4
var deepEqual = require ( 'deep-equal' )
5
- var path = require ( 'path' )
6
5
var util = require ( './_util' )
7
6
var multer = require ( '../' )
8
7
var FormData = require ( 'form-data' )
9
8
10
- function assertFileProperties ( file , name ) {
11
- const expectedSize = util . fileSizeByName ( name )
12
- assert . strictEqual ( file . fieldname , path . parse ( name ) . name )
13
- assert . strictEqual ( file . originalname , name )
9
+ function assertFileProperties ( file , expectedFieldname , expectedOriginalname ) {
10
+ const expectedSize = util . fileSizeByName ( expectedOriginalname )
11
+ assert . strictEqual ( file . fieldname , expectedFieldname )
12
+ assert . strictEqual ( file . originalname , expectedOriginalname )
14
13
assert . strictEqual ( file . size , expectedSize )
15
14
assert . ok ( Buffer . isBuffer ( file . buffer ) )
16
15
assert . strictEqual ( file . buffer . length , expectedSize )
@@ -36,7 +35,7 @@ describe('Memory Storage', function () {
36
35
37
36
assert . strictEqual ( req . body . name , 'Multer' )
38
37
39
- assertFileProperties ( req . file , 'small0.dat' )
38
+ assertFileProperties ( req . file , 'small0' , 'small0 .dat')
40
39
41
40
done ( )
42
41
} )
@@ -68,7 +67,7 @@ describe('Memory Storage', function () {
68
67
assert ( deepEqual ( req . body . checkboxhalfempty , [ 'cb1' , '' ] ) )
69
68
assert ( deepEqual ( req . body . checkboxempty , [ '' , '' ] ) )
70
69
71
- assertFileProperties ( req . file , 'empty.dat' )
70
+ assertFileProperties ( req . file , 'empty' , 'empty .dat')
72
71
73
72
done ( )
74
73
} )
@@ -99,13 +98,28 @@ describe('Memory Storage', function () {
99
98
100
99
assert ( deepEqual ( req . body , { } ) )
101
100
102
- assertFileProperties ( req . files . empty [ 0 ] , 'empty.dat' )
103
- assertFileProperties ( req . files . tiny0 [ 0 ] , 'tiny0.dat' )
104
- assertFileProperties ( req . files . tiny1 [ 0 ] , 'tiny1.dat' )
105
- assertFileProperties ( req . files . small0 [ 0 ] , 'small0.dat' )
106
- assertFileProperties ( req . files . small1 [ 0 ] , 'small1.dat' )
107
- assertFileProperties ( req . files . medium [ 0 ] , 'medium.dat' )
108
- assertFileProperties ( req . files . large [ 0 ] , 'large.jpg' )
101
+ assertFileProperties ( req . files . empty [ 0 ] , 'empty' , 'empty.dat' )
102
+ assertFileProperties ( req . files . tiny0 [ 0 ] , 'tiny0' , 'tiny0.dat' )
103
+ assertFileProperties ( req . files . tiny1 [ 0 ] , 'tiny1' , 'tiny1.dat' )
104
+ assertFileProperties ( req . files . small0 [ 0 ] , 'small0' , 'small0.dat' )
105
+ assertFileProperties ( req . files . small1 [ 0 ] , 'small1' , 'small1.dat' )
106
+ assertFileProperties ( req . files . medium [ 0 ] , 'medium' , 'medium.dat' )
107
+ assertFileProperties ( req . files . large [ 0 ] , 'large' , 'large.jpg' )
108
+
109
+ done ( )
110
+ } )
111
+ } )
112
+
113
+ it ( 'should handle case where fieldname and originalname did not match' , function ( done ) {
114
+ var form = new FormData ( )
115
+ var parser = upload . single ( 'profilePic' )
116
+
117
+ form . append ( 'profilePic' , util . file ( 'large.jpg' ) )
118
+
119
+ util . submitForm ( parser , form , function ( err , req ) {
120
+ assert . ifError ( err )
121
+
122
+ assertFileProperties ( req . file , 'profilePic' , 'large.jpg' )
109
123
110
124
done ( )
111
125
} )
0 commit comments