22
33var assert = require ( 'assert' )
44var deepEqual = require ( 'deep-equal' )
5- var path = require ( 'path' )
65var util = require ( './_util' )
76var multer = require ( '../' )
87var FormData = require ( 'form-data' )
98
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 )
1413 assert . strictEqual ( file . size , expectedSize )
1514 assert . ok ( Buffer . isBuffer ( file . buffer ) )
1615 assert . strictEqual ( file . buffer . length , expectedSize )
@@ -36,7 +35,7 @@ describe('Memory Storage', function () {
3635
3736 assert . strictEqual ( req . body . name , 'Multer' )
3837
39- assertFileProperties ( req . file , 'small0.dat' )
38+ assertFileProperties ( req . file , 'small0' , 'small0 .dat')
4039
4140 done ( )
4241 } )
@@ -68,7 +67,7 @@ describe('Memory Storage', function () {
6867 assert ( deepEqual ( req . body . checkboxhalfempty , [ 'cb1' , '' ] ) )
6968 assert ( deepEqual ( req . body . checkboxempty , [ '' , '' ] ) )
7069
71- assertFileProperties ( req . file , 'empty.dat' )
70+ assertFileProperties ( req . file , 'empty' , 'empty .dat')
7271
7372 done ( )
7473 } )
@@ -99,13 +98,28 @@ describe('Memory Storage', function () {
9998
10099 assert ( deepEqual ( req . body , { } ) )
101100
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' )
109123
110124 done ( )
111125 } )
0 commit comments