| // 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. |
| |
| var array = []; |
| var v = 0; |
| |
| Object.defineProperty(Array.prototype, "0", { |
| get: function() { return "get " + v; }, |
| set: function(value) { v += value; } |
| }); |
| |
| array[0] = 10; |
| assertEquals(0, array.length); |
| assertEquals(10, v); |
| assertEquals("get 10", array[0]); |
| |
| array.push(100); |
| assertEquals(1, array.length); |
| assertEquals(110, v); |
| assertEquals("get 110", array[0]); |