mirror of
https://github.com/tc39/test262.git
synced 2025-04-08 19:35:28 +02:00
The values defined by the referenced files are not used by these tests. This makes their inclusion superfluous, which needlessly increases the time to execute the tests and may confuse some readers.
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
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-weakmap-iterable
|
|
description: >
|
|
Returns the new WeakMap adding the objects from the iterable parameter.
|
|
info: |
|
|
WeakMap ( [ iterable ] )
|
|
|
|
...
|
|
9. Repeat
|
|
k. Let status be Call(adder, map, «k.[[value]], v.[[value]]»).
|
|
l. If status is an abrupt completion, return IteratorClose(iter, status).
|
|
---*/
|
|
|
|
var first = {};
|
|
var second = {};
|
|
var results = [];
|
|
var set = WeakMap.prototype.set;
|
|
WeakMap.prototype.set = function(key, value) {
|
|
results.push({
|
|
_this: this,
|
|
key: key,
|
|
value: value
|
|
});
|
|
return set.call(this, key, value);
|
|
};
|
|
var map = new WeakMap([
|
|
[first, 42],
|
|
[second, 43]
|
|
]);
|
|
|
|
assert.sameValue(results.length, 2, 'Called WeakMap#set for each object');
|
|
assert.sameValue(results[0].key, first, 'Adds object in order - first key');
|
|
assert.sameValue(results[0].value, 42, 'Adds object in order - first value');
|
|
assert.sameValue(results[0]._this, map, 'Adds object in order - this');
|
|
assert.sameValue(results[1].key, second, 'Adds object in order - second key');
|
|
assert.sameValue(results[1].value, 43, 'Adds object in order - second value');
|
|
assert.sameValue(results[1]._this, map, 'Adds object in order - this');
|