0ef073d556
BUG=chromium:423633 LOG=n R=verwaest@chromium.org Review URL: https://codereview.chromium.org/673893002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
19 lines
635 B
JavaScript
19 lines
635 B
JavaScript
// Copyright 2014 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.
|
|
|
|
Object.defineProperty(Array.prototype, '0', {
|
|
get: function() { return false; },
|
|
});
|
|
var a = [1, 2, 3];
|
|
assertEquals(a, a.slice());
|
|
assertEquals([3], a.splice(2, 1));
|
|
|
|
a = [1, 2, 3];
|
|
a[0xffff] = 4;
|
|
// nulling the prototype lets us stay in the sparse case; otherwise the
|
|
// getter on Array.prototype would force us into the non-sparse code.
|
|
a.__proto__ = null;
|
|
assertEquals(a, Array.prototype.slice.call(a));
|
|
assertEquals([3], Array.prototype.splice.call(a, 2, 1));
|