diff --git a/lib/internal/url.js b/lib/internal/url.js index 8d14a26ecb3617..965f647c2784dd 100644 --- a/lib/internal/url.js +++ b/lib/internal/url.js @@ -246,14 +246,7 @@ function onParseError(flags, input) { // Reused by URL constructor and URL#href setter. function parse(url, input, base) { const base_context = base ? base[context] : undefined; - // In the URL#href setter - if (!url[context]) { - Object.defineProperty(url, context, { - enumerable: false, - configurable: false, - value: new URLContext() - }); - } + url[context] = new URLContext(); _parse(input.trim(), -1, base_context, undefined, onParseComplete.bind(url), onParseError); } @@ -1381,11 +1374,7 @@ function toPathIfFileURL(fileURLOrPath) { } function NativeURL(ctx) { - Object.defineProperty(this, context, { - enumerable: false, - configurable: false, - value: ctx - }); + this[context] = ctx; } NativeURL.prototype = URL.prototype; diff --git a/test/parallel/test-whatwg-url-custom-no-enumerable-context.js b/test/parallel/test-whatwg-url-custom-no-enumerable-context.js deleted file mode 100644 index f24a47b6d5c8f0..00000000000000 --- a/test/parallel/test-whatwg-url-custom-no-enumerable-context.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; -// This tests that the context of URL objects are not -// enumerable and thus considered by assert libraries. -// See https://github.com/nodejs/node/issues/24211 - -// Tests below are not from WPT. - -require('../common'); -const assert = require('assert'); - -assert.deepStrictEqual( - new URL('./foo', 'https://example.com/'), - new URL('https://example.com/foo') -);