summaryrefslogtreecommitdiff
path: root/test/parallel/test-internal-iterable-weak-map.js
diff options
context:
space:
mode:
authorAntoine du Hamel <duhamelantoine1995@gmail.com>2021-05-03 18:32:14 +0200
committerJames M Snell <jasnell@gmail.com>2021-05-06 10:18:50 -0700
commitc6dc9319f360788e1f77f9b579ddefe663aaf86e (patch)
tree6a13cf7fcab5c07b7bc5514499aeeca99668832d /test/parallel/test-internal-iterable-weak-map.js
parent2ff93c8975508736bbc07b98cf84f47d68b47201 (diff)
downloadnode-new-c6dc9319f360788e1f77f9b579ddefe663aaf86e.tar.gz
lib: make `IterableWeakMap` safe to iterate
PR-URL: https://github.com/nodejs/node/pull/38523 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-internal-iterable-weak-map.js')
-rw-r--r--test/parallel/test-internal-iterable-weak-map.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/test/parallel/test-internal-iterable-weak-map.js b/test/parallel/test-internal-iterable-weak-map.js
index e0282c9081..f2befe13da 100644
--- a/test/parallel/test-internal-iterable-weak-map.js
+++ b/test/parallel/test-internal-iterable-weak-map.js
@@ -1,10 +1,16 @@
// Flags: --expose-gc --expose-internals
'use strict';
-require('../common');
+const common = require('../common');
const { deepStrictEqual, strictEqual } = require('assert');
const { IterableWeakMap } = require('internal/util/iterable_weak_map');
+// Ensures iterating over the map does not rely on methods which can be
+// mutated by users.
+Reflect.getPrototypeOf(function*() {}).prototype.next = common.mustNotCall();
+Reflect.getPrototypeOf(new Set()[Symbol.iterator]()).next =
+ common.mustNotCall();
+
// It drops entry if a reference is no longer held.
{
const wm = new IterableWeakMap();