Skip to content

Commit e7ccbef

Browse files
committed
add test where fieldname and originalname did not match
1 parent 031edfb commit e7ccbef

File tree

2 files changed

+56
-27
lines changed

2 files changed

+56
-27
lines changed

test/disk-storage.js

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ var temp = require('fs-temp')
1010
var rimraf = require('rimraf')
1111
var FormData = require('form-data')
1212

13-
function assertFileProperties (file, name) {
14-
const expectedSize = util.fileSizeByName(name)
15-
assert.strictEqual(file.fieldname, path.parse(name).name)
16-
assert.strictEqual(file.originalname, name)
13+
function assertFileProperties (file, expectedFieldname, expectedOriginalname) {
14+
const expectedSize = util.fileSizeByName(expectedOriginalname)
15+
assert.strictEqual(file.fieldname, expectedFieldname)
16+
assert.strictEqual(file.originalname, expectedOriginalname)
1717
assert.strictEqual(file.size, expectedSize)
1818
assert.strictEqual(util.fileSize(file.path), expectedSize)
1919
}
@@ -47,7 +47,7 @@ describe('Disk Storage', function () {
4747

4848
assert.strictEqual(req.body.name, 'Multer')
4949

50-
assertFileProperties(req.file, 'small0.dat')
50+
assertFileProperties(req.file, 'small0', 'small0.dat')
5151

5252
done()
5353
})
@@ -79,7 +79,7 @@ describe('Disk Storage', function () {
7979
assert(deepEqual(req.body.checkboxhalfempty, ['cb1', '']))
8080
assert(deepEqual(req.body.checkboxempty, ['', '']))
8181

82-
assertFileProperties(req.file, 'empty.dat')
82+
assertFileProperties(req.file, 'empty', 'empty.dat')
8383

8484
done()
8585
})
@@ -110,13 +110,13 @@ describe('Disk Storage', function () {
110110

111111
assert(deepEqual(req.body, {}))
112112

113-
assertFileProperties(req.files.empty[0], 'empty.dat')
114-
assertFileProperties(req.files.tiny0[0], 'tiny0.dat')
115-
assertFileProperties(req.files.tiny1[0], 'tiny1.dat')
116-
assertFileProperties(req.files.small0[0], 'small0.dat')
117-
assertFileProperties(req.files.small1[0], 'small1.dat')
118-
assertFileProperties(req.files.medium[0], 'medium.dat')
119-
assertFileProperties(req.files.large[0], 'large.jpg')
113+
assertFileProperties(req.files.empty[0], 'empty', 'empty.dat')
114+
assertFileProperties(req.files.tiny0[0], 'tiny0', 'tiny0.dat')
115+
assertFileProperties(req.files.tiny1[0], 'tiny1', 'tiny1.dat')
116+
assertFileProperties(req.files.small0[0], 'small0', 'small0.dat')
117+
assertFileProperties(req.files.small1[0], 'small1', 'small1.dat')
118+
assertFileProperties(req.files.medium[0], 'medium', 'medium.dat')
119+
assertFileProperties(req.files.large[0], 'large', 'large.jpg')
120120

121121
done()
122122
})
@@ -158,4 +158,19 @@ describe('Disk Storage', function () {
158158
done()
159159
})
160160
})
161+
162+
it('should handle case where fieldname and originalname did not match', function (done) {
163+
var form = new FormData()
164+
var parser = upload.single('profilePic')
165+
166+
form.append('profilePic', util.file('large.jpg'))
167+
168+
util.submitForm(parser, form, function (err, req) {
169+
assert.ifError(err)
170+
171+
assertFileProperties(req.file, 'profilePic', 'large.jpg')
172+
173+
done()
174+
})
175+
})
161176
})

test/memory-storage.js

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22

33
var assert = require('assert')
44
var deepEqual = require('deep-equal')
5-
var path = require('path')
65
var util = require('./_util')
76
var multer = require('../')
87
var 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

Comments
 (0)