blob: 12d248333fbacbb1e0acb00887523f880fc7d603 [file] [log] [blame]
Emily Bernierd0a1eb72015-03-24 16:35:39 -04001// Copyright 2014 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5Object.defineProperty(Array.prototype, '0', {
6 get: function() { return false; },
7});
8var a = [1, 2, 3];
9assertEquals(a, a.slice());
10assertEquals([3], a.splice(2, 1));
11
12a = [1, 2, 3];
13a[0xffff] = 4;
14// nulling the prototype lets us stay in the sparse case; otherwise the
15// getter on Array.prototype would force us into the non-sparse code.
16a.__proto__ = null;
17assertEquals(a, Array.prototype.slice.call(a));
18assertEquals([3], Array.prototype.splice.call(a, 2, 1));