mirror of
https://github.com/nodejs/node.git
synced 2025-05-21 18:59:08 +00:00

PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
26 lines
639 B
JavaScript
26 lines
639 B
JavaScript
// Copyright 2019 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 f_1() {
|
|
var v = new Array();
|
|
v[0] = 10;
|
|
return v;
|
|
}
|
|
|
|
function test() {
|
|
var setter_called = false;
|
|
// Turn array to NumberDictionary
|
|
Array.prototype[123456789] = 42;
|
|
assertEquals(f_1().length, 1);
|
|
|
|
// Reset to empty_slow_dictionary
|
|
Array.prototype.length = 0;
|
|
|
|
// This should reset the prototype validity cell.
|
|
Array.prototype.__defineSetter__("0", function() {setter_called = true});
|
|
f_1();
|
|
assertEquals(setter_called, true);
|
|
}
|
|
test();
|