Tizen 2.1 base
[platform/framework/web/web-ui-fw.git] / libs / js / jquery-mobile-1.2.0 / node_modules / grunt / node_modules / connect / node_modules / formidable / test / legacy / simple / test-querystring-parser.js
1 var common = require('../common');
2 var QuerystringParser = require(common.lib + '/querystring_parser').QuerystringParser,
3     Buffer = require('buffer').Buffer,
4     gently,
5     parser;
6
7 function test(test) {
8   gently = new Gently();
9   parser = new QuerystringParser();
10   test();
11   gently.verify(test.name);
12 }
13
14 test(function constructor() {
15   assert.equal(parser.buffer, '');
16   assert.equal(parser.constructor.name, 'QuerystringParser');
17 });
18
19 test(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
28 test(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 });