From 87cde4428036b7ddd1c51f2c00414c02bb46b8ee Mon Sep 17 00:00:00 2001 From: Trevor Norris Date: Fri, 20 Dec 2013 13:44:56 -0800 Subject: [PATCH] Revert "util: more strict check for bool/number/string" This reverts commit 95ee84fabe0b028ef964cc1032cd56a6cf89cb0e. --- lib/querystring.js | 2 +- lib/util.js | 6 +++--- test/simple/test-querystring.js | 7 +------ test/simple/test-util.js | 29 ----------------------------- 4 files changed, 5 insertions(+), 39 deletions(-) diff --git a/lib/querystring.js b/lib/querystring.js index 7437c29db2..e9ff825d55 100644 --- a/lib/querystring.js +++ b/lib/querystring.js @@ -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 ''; diff --git a/lib/util.js b/lib/util.js index fb64a44c2e..a03e87449c 100644 --- a/lib/util.js +++ b/lib/util.js @@ -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; diff --git a/test/simple/test-querystring.js b/test/simple/test-querystring.js index 2b4308e021..483982c842 100644 --- a/test/simple/test-querystring.js +++ b/test/simple/test-querystring.js @@ -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': ''}], diff --git a/test/simple/test-util.js b/test/simple/test-util.js index 07b3f6d0d1..4e75d512c2 100644 --- a/test/simple/test-util.js +++ b/test/simple/test-util.js @@ -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()));