Correctness-wise, this removes side effects in the href setter if parsing fails. Style-wise, this allows removing the parse() wrapper function around C++ _parse(). Also fix an existing bug with whitespace trimming in C++ that was previously circumvented by additionally trimming the input in JavaScript. Fixes: https://github.com/nodejs/node/issues/24345 Refs: https://github.com/nodejs/node/pull/24218#issuecomment-438476591 PR-URL: https://github.com/nodejs/node/pull/24495 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
16 lines
323 B
JavaScript
16 lines
323 B
JavaScript
'use strict';
|
|
|
|
// Tests below are not from WPT.
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
const ref = new URL('http://example.com/path');
|
|
const url = new URL('http://example.com/path');
|
|
common.expectsError(() => {
|
|
url.href = '';
|
|
}, {
|
|
type: TypeError
|
|
});
|
|
|
|
assert.deepStrictEqual(url, ref);
|