test262/test/built-ins/Map/groupBy/callback-arg.js

33 lines
777 B
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright (c) 2023 Ecma International. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-map.groupby
description: Map.groupBy calls function with correct arguments
info: |
Map.groupBy ( items, callbackfn )
...
GroupBy ( items, callbackfn, coercion )
6. Repeat,
e. Let key be Completion(Call(callbackfn, undefined, « value, 𝔽(k) »)).
...
features: [array-grouping, Map]
---*/
const arr = [-0, 0, 1, 2, 3];
let calls = 0;
Map.groupBy(arr, function (n, i) {
calls++;
assert.sameValue(n, arr[i], "selected element aligns with index");
assert.sameValue(arguments.length, 2, "only two arguments are passed");
return null;
});
assert.sameValue(calls, 5, 'called for all 5 elements');