diff options
author | DavidCai <davidcai1993@yahoo.com> | 2017-02-04 21:39:20 +0800 |
---|---|---|
committer | James M Snell <jasnell@gmail.com> | 2017-02-11 13:59:34 -0800 |
commit | 78182458e6055515ac342f743aacb79bd3af2edc (patch) | |
tree | 06dd25cc76d8c5eb56c9bfc076c7ac5304f43683 | |
parent | 5f20d62c8fd89379b35bfa4610ff34551b4f1892 (diff) | |
download | android-node-v8-78182458e6055515ac342f743aacb79bd3af2edc.tar.gz android-node-v8-78182458e6055515ac342f743aacb79bd3af2edc.tar.bz2 android-node-v8-78182458e6055515ac342f743aacb79bd3af2edc.zip |
url: fix error message of url.format
PR-URL: https://github.com/nodejs/node/pull/11162
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
-rw-r--r-- | lib/url.js | 2 | ||||
-rw-r--r-- | test/parallel/test-url-format-invalid-input.js | 25 |
2 files changed, 15 insertions, 12 deletions
diff --git a/lib/url.js b/lib/url.js index 2b7dd6e532..57f04d5f3f 100644 --- a/lib/url.js +++ b/lib/url.js @@ -547,7 +547,7 @@ function urlFormat(obj, options) { obj = urlParse(obj); } else if (typeof obj !== 'object' || obj === null) { throw new TypeError('Parameter "urlObj" must be an object, not ' + - obj === null ? 'null' : typeof obj); + (obj === null ? 'null' : typeof obj)); } else if (!(obj instanceof Url)) { var format = obj[internalUrl.formatSymbol]; return format ? diff --git a/test/parallel/test-url-format-invalid-input.js b/test/parallel/test-url-format-invalid-input.js index 5a39cc1381..908294d1c7 100644 --- a/test/parallel/test-url-format-invalid-input.js +++ b/test/parallel/test-url-format-invalid-input.js @@ -3,17 +3,20 @@ require('../common'); const assert = require('assert'); const url = require('url'); -// https://github.com/nodejs/node/pull/1036 -const throws = [ - undefined, - null, - true, - false, - 0, - function() {} -]; -for (let i = 0; i < throws.length; i++) { - assert.throws(function() { url.format(throws[i]); }, TypeError); +const throwsObjsAndReportTypes = new Map([ + [undefined, 'undefined'], + [null, 'null'], + [true, 'boolean'], + [false, 'boolean'], + [0, 'number'], + [function() {}, 'function'], + [Symbol('foo'), 'symbol'] +]); + +for (const [obj, type] of throwsObjsAndReportTypes) { + const error = new RegExp('^TypeError: Parameter "urlObj" must be an object' + + `, not ${type}$`); + assert.throws(function() { url.format(obj); }, error); } assert.strictEqual(url.format(''), ''); assert.strictEqual(url.format({}), ''); |