Browse Source

Revert "util: more strict check for bool/number/string"

This reverts commit 95ee84fabe.
v0.11.10-release
Trevor Norris 11 years ago
parent
commit
87cde44280
  1. 2
      lib/querystring.js
  2. 6
      lib/util.js
  3. 7
      test/simple/test-querystring.js
  4. 29
      test/simple/test-util.js

2
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 '';

6
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;

7
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': ''}],

29
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()));

Loading…
Cancel
Save