1 var assert = require('better-assert');
2 var expect = require('expect.js');
3 var util = require('./index.js');
5 describe('querystring test suite', function(){
6 it('should parse a querystring and return an object', function () {
9 var queryObj = util.decode("foo=bar");
10 expect(queryObj.foo).to.be("bar");
12 // Multiple assignments
13 queryObj = util.decode("france=paris&germany=berlin");
14 expect(queryObj.france).to.be("paris");
15 expect(queryObj.germany).to.be("berlin");
17 // Assignments containing non-alphanumeric characters
18 queryObj = util.decode("india=new%20delhi");
19 expect(queryObj.india).to.be("new delhi");
22 it('should construct a query string from an object', function () {
23 expect(util.encode({ a: 'b' })).to.be('a=b');
24 expect(util.encode({ a: 'b', c: 'd' })).to.be('a=b&c=d');
25 expect(util.encode({ a: 'b', c: 'tobi rocks' })).to.be('a=b&c=tobi%20rocks');