PR-URL: https://github.com/nodejs/node/pull/51362 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
35 lines
713 B
JavaScript
35 lines
713 B
JavaScript
// Copyright 2023 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
(function TestGrow() {
|
|
let array = [0,1,2,3];
|
|
function f(e) {
|
|
array[4] = 42;
|
|
return e;
|
|
}
|
|
assertEquals(array.flatMap(f), [0,1,2,3]);
|
|
})();
|
|
|
|
(function TestGrow2() {
|
|
let array = [0,1];
|
|
let depth = {
|
|
valueOf() {
|
|
array.push(2);
|
|
array.push(3);
|
|
return 10000;
|
|
}
|
|
};
|
|
assertEquals(array.flat(depth), [0,1]);
|
|
assertEquals(array, [0,1,2,3]);
|
|
})();
|
|
|
|
(function TestShrink() {
|
|
let array = [0,1,2,3];
|
|
function f(e) {
|
|
array.length = 3;
|
|
return e;
|
|
}
|
|
assertEquals(array.flatMap(f), [0,1,2]);
|
|
})();
|