Revert "util: more strict check for bool/number/string"
authorTrevor Norris <trev.norris@gmail.com>
Fri, 20 Dec 2013 21:44:56 +0000 (13:44 -0800)
committerTrevor Norris <trev.norris@gmail.com>
Fri, 20 Dec 2013 21:44:56 +0000 (13:44 -0800)
This reverts commit 95ee84fabe0b028ef964cc1032cd56a6cf89cb0e.

lib/querystring.js
lib/util.js
test/simple/test-querystring.js
test/simple/test-util.js

index 7437c29..e9ff825 100644 (file)
@@ -118,7 +118,7 @@ var stringifyPrimitive = function(v) {
   if (util.isString(v))
     return v;
   if (util.isBoolean(v))
-    return v == true ? 'true' : 'false';
+    return v ? 'true' : 'false';
   if (util.isNumber(v))
     return isFinite(v) ? v : '';
   return '';
index fb64a44..a03e874 100644 (file)
@@ -451,7 +451,7 @@ function isArray(ar) {
 exports.isArray = isArray;
 
 function isBoolean(arg) {
-  return typeof arg === 'boolean' || objectToString(arg) === '[object Boolean]';
+  return typeof arg === 'boolean';
 }
 exports.isBoolean = isBoolean;
 
@@ -466,12 +466,12 @@ function isNullOrUndefined(arg) {
 exports.isNullOrUndefined = isNullOrUndefined;
 
 function isNumber(arg) {
-  return typeof arg === 'number' || objectToString(arg) === '[object Number]';
+  return typeof arg === 'number';
 }
 exports.isNumber = isNumber;
 
 function isString(arg) {
-  return typeof arg === 'string' || objectToString(arg) === '[object String]';
+  return typeof arg === 'string';
 }
 exports.isString = isString;
 
index 2b4308e..483982c 100644 (file)
@@ -83,12 +83,7 @@ var qsWeirdObjects = [
   [{e: extendedFunction}, 'e=', {'e': ''}],
   [{d: new Date()}, 'd=', {'d': ''}],
   [{d: Date}, 'd=', {'d': ''}],
-  [{
-    f: new Boolean(false),
-    t: new Boolean(true)},
-    'f=false&t=true',
-    {'f': 'false', 't': 'true'}
-  ],
+  [{f: new Boolean(false), t: new Boolean(true)}, 'f=&t=', {'f': '', 't': ''}],
   [{f: false, t: true}, 'f=false&t=true', {'f': 'false', 't': 'true'}],
   [{n: null}, 'n=', {'n': ''}],
   [{nan: NaN}, 'nan=', {'nan': ''}],
index 07b3f6d..4e75d51 100644 (file)
@@ -25,35 +25,6 @@ var assert = require('assert');
 var util = require('util');
 var context = require('vm').runInNewContext;
 
-// isBoolean
-assert.equal(true, util.isBoolean(true));
-assert.equal(true, util.isBoolean(false));
-assert.equal(true, util.isBoolean(Boolean()));
-assert.equal(true, util.isBoolean(new Boolean()));
-assert.equal(true, util.isBoolean(new Boolean(true)));
-assert.equal(true, util.isBoolean(context('Boolean')()));
-assert.equal(false, util.isBoolean({}));
-assert.equal(false, util.isBoolean(/regexp/));
-
-// isNumber
-assert.equal(true, util.isNumber(0));
-assert.equal(true, util.isNumber(NaN));
-assert.equal(true, util.isNumber(Number()));
-assert.equal(true, util.isNumber(new Number()));
-assert.equal(true, util.isNumber(new Number(10)));
-assert.equal(true, util.isNumber(context('Number')()));
-assert.equal(false, util.isNumber({}));
-assert.equal(false, util.isNumber(/regexp/));
-
-// isString
-assert.equal(true, util.isString('string'));
-assert.equal(true, util.isString(String()));
-assert.equal(true, util.isString(new String()));
-assert.equal(true, util.isString(new String(10)));
-assert.equal(true, util.isString(context('String')()));
-assert.equal(false, util.isString({}));
-assert.equal(false, util.isString(/regexp/));
-
 // isArray
 assert.equal(true, util.isArray([]));
 assert.equal(true, util.isArray(Array()));