Sha256: 53dcd097f4d5d4206278d68d0579f2a0f73d2c208c5d45fcf854717768bae25b

Contents?: true

Size: 1.29 KB

Versions: 20

Compression:

Stored size: 1.29 KB

Contents

var common = require('../common');
var test = common.fastOrSlow.fast();
var assert = common.assert;

var IncomingForm = common.require('incoming_form').IncomingForm;

var form;
test.before(function() {
  form = new IncomingForm();
});

function makeHeader(filename) {
  return 'Content-Disposition: form-data; name="upload"; filename="' + filename + '"';
}

test('#_fileName with regular characters', function() {
  var filename = 'foo.txt';
  assert.equal(form._fileName(makeHeader(filename)), 'foo.txt');
});

test('#_fileName with unescaped quote', function() {
  var filename = 'my".txt';
  assert.equal(form._fileName(makeHeader(filename)), 'my".txt');
});

test('#_fileName with escaped quote', function() {
  var filename = 'my%22.txt';
  assert.equal(form._fileName(makeHeader(filename)), 'my".txt');
});

test('#_fileName with bad quote and additional sub-header', function() {
  var filename = 'my".txt';
  var header = makeHeader(filename) + '; foo="bar"';
  assert.equal(form._fileName(header), filename);
});

test('#_fileName with semicolon', function() {
  var filename = 'my;.txt';
  assert.equal(form._fileName(makeHeader(filename)), 'my;.txt');
});

test('#_fileName with utf8 character', function() {
  var filename = 'my☃.txt';
  assert.equal(form._fileName(makeHeader(filename)), 'my☃.txt');
});

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
vulcan-0.6.1 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.6.0 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.5.0 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.4.0 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.3.0 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.2.5 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.2.4 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.2.3 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.2.2 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.2.1 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.2.0 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.1.6 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.1.5 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.1.4 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.1.3 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.1.2 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.1.1 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.1.0 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.0.3 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js
vulcan-0.0.2 server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js