arnaucube
arnaucube/comunicationLeapPublic Self-hosted repository
comunicationLeap/node_modules/formidable/test/legacy/simple/test-querystring-parser.js
node_modules/formidable/test/legacy/simple/test-querystring-parser.jsRaw
 1var common = require('../common');
 2var QuerystringParser = require(common.lib + '/querystring_parser').QuerystringParser,
 3    Buffer = require('buffer').Buffer,
 4    gently,
 5    parser;
 6
 7function test(test) {
 8  gently = new Gently();
 9  parser = new QuerystringParser();
10  test();
11  gently.verify(test.name);
12}
13
14test(function constructor() {
15  assert.equal(parser.buffer, '');
16  assert.equal(parser.constructor.name, 'QuerystringParser');
17});
18
19test(function write() {
20  var a = new Buffer('a=1');
21  assert.equal(parser.write(a), a.length);
22
23  var b = new Buffer('&b=2');
24  parser.write(b);
25  assert.equal(parser.buffer, a + b);
26});
27
28test(function end() {
29  var FIELDS = {a: ['b', {c: 'd'}], e: 'f'};
30
31  gently.expect(GENTLY.hijacked.querystring, 'parse', function(str) {
32    assert.equal(str, parser.buffer);
33    return FIELDS;
34  });
35
36  gently.expect(parser, 'onField', Object.keys(FIELDS).length, function(key, val) {
37    assert.deepEqual(FIELDS[key], val);
38  });
39
40  gently.expect(parser, 'onEnd');
41
42  parser.buffer = 'my buffer';
43  parser.end();
44  assert.equal(parser.buffer, '');
45});