querystring.parse: handle undefined value properly
authorcloudhead <self@cloudhead.net>
Thu, 5 Aug 2010 07:13:40 +0000 (03:13 -0400)
committerRyan Dahl <ry@tinyclouds.org>
Thu, 5 Aug 2010 17:46:28 +0000 (10:46 -0700)
lib/querystring.js
test/simple/test-querystring.js

index ba2b1cc..69ea008 100644 (file)
@@ -77,6 +77,7 @@ var chunks = /(?:(?:^|\.)([^\[\(\.]+)(?=\[|\.|$|\()|\[([^"'][^\]]*?)\]|\["([^\]"
 // Parse a key=val string.
 QueryString.parse = QueryString.decode = function (qs, sep, eq) {
   var obj = {};
+  if (qs === undefined) { return {} }
   String(qs).split(sep || "&").map(function (keyValue) {
     var res = obj,
       next,
index e159846..0470b46 100644 (file)
@@ -165,3 +165,6 @@ var f = qs.stringify({
   }, ";", ":")
 }, ";", ":");
 assert.equal(f, "a:b;q:x%3Ay%3By%3Az");
+
+
+assert.deepEqual({}, qs.parse());