aboutsummaryrefslogtreecommitdiffhomepage
path: root/node_modules/parseqs/test.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/parseqs/test.js')
-rw-r--r--node_modules/parseqs/test.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/parseqs/test.js b/node_modules/parseqs/test.js
new file mode 100644
index 0000000..2ccb925
--- /dev/null
+++ b/node_modules/parseqs/test.js
@@ -0,0 +1,27 @@
+var assert = require('better-assert');
+var expect = require('expect.js');
+var util = require('./index.js');
+
+describe('querystring test suite', function(){
+ it('should parse a querystring and return an object', function () {
+
+ // Single assignment
+ var queryObj = util.decode("foo=bar");
+ expect(queryObj.foo).to.be("bar");
+
+ // Multiple assignments
+ queryObj = util.decode("france=paris&germany=berlin");
+ expect(queryObj.france).to.be("paris");
+ expect(queryObj.germany).to.be("berlin");
+
+ // Assignments containing non-alphanumeric characters
+ queryObj = util.decode("india=new%20delhi");
+ expect(queryObj.india).to.be("new delhi");
+ });
+
+ it('should construct a query string from an object', function () {
+ expect(util.encode({ a: 'b' })).to.be('a=b');
+ expect(util.encode({ a: 'b', c: 'd' })).to.be('a=b&c=d');
+ expect(util.encode({ a: 'b', c: 'tobi rocks' })).to.be('a=b&c=tobi%20rocks');
+ });
+});