mirror of https://github.com/tc39/test262.git
36 lines
970 B
JavaScript
36 lines
970 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.
|
||
|
/*---
|
||
|
es6id: 23.1.1.1
|
||
|
description: >
|
||
|
A Map constructed without a iterable argument does not call set.
|
||
|
info: >
|
||
|
Map ( [ iterable ] )
|
||
|
|
||
|
When the Map function is called with optional argument the following steps are
|
||
|
taken:
|
||
|
|
||
|
...
|
||
|
5. If iterable is not present, let iterable be undefined.
|
||
|
6. If iterable is either undefined or null, let iter be undefined.
|
||
|
7. Else,
|
||
|
a. Let adder be Get(map, "set").
|
||
|
b. ReturnIfAbrupt(adder).
|
||
|
c. If IsCallable(adder) is false, throw a TypeError exception.
|
||
|
d. Let iter be GetIterator(iterable).
|
||
|
e. ReturnIfAbrupt(iter).
|
||
|
8. If iter is undefined, return map.
|
||
|
---*/
|
||
|
|
||
|
var set = Map.prototype.set;
|
||
|
var counter = 0;
|
||
|
|
||
|
Map.prototype.set = function(value) {
|
||
|
counter++;
|
||
|
set.call(this, value);
|
||
|
};
|
||
|
|
||
|
new Map();
|
||
|
|
||
|
assert.sameValue(counter, 0, '`Map.prototype.set` was not called.');
|