mirror of
https://github.com/tc39/test262.git
synced 2025-05-25 17:20:41 +02:00
There are many existing tests for WeakMap, WeakSet, WeakRef, and FinalizationRegistry using Objects as weak values. For symbols-as-weakmap- keys, we'll want to write tests that parallel these for Symbol keys. Change the descriptions and filenames of these tests to describe their new scope of only Object weak values. Update the front matter of these tests while we're at it, to reflect the changes to the spec text that the symbols-as-weakmap-keys brings in. (In some cases, remove irrelevant bits of the front matter.) See: #2850
30 lines
935 B
JavaScript
30 lines
935 B
JavaScript
// Copyright (C) 2015 the V8 project authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/*---
|
|
esid: sec-weakset-iterable
|
|
description: >
|
|
Returns the new WeakSet adding Object values from the iterable parameter.
|
|
info: |
|
|
WeakSet ( [ _iterable_ ] )
|
|
8. Repeat,
|
|
d. Let _status_ be Completion(Call(_adder_, _set_, « _nextValue_ »)).
|
|
|
|
WeakSet.prototype.add ( _value_ ):
|
|
6. Append _value_ as the last element of _entries_.
|
|
features: [WeakSet]
|
|
---*/
|
|
|
|
var first = {};
|
|
var second = {};
|
|
var added = [];
|
|
var add = WeakSet.prototype.add;
|
|
WeakSet.prototype.add = function(value) {
|
|
added.push(value);
|
|
return add.call(this, value);
|
|
};
|
|
var s = new WeakSet([first, second]);
|
|
|
|
assert.sameValue(added.length, 2, 'Called WeakSet#add for each object');
|
|
assert.sameValue(added[0], first, 'Adds object in order - first');
|
|
assert.sameValue(added[1], second, 'Adds object in order - second');
|