raspberryGPIOhtmlserver/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});