1202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org// Copyright 2014 the V8 project authors. All rights reserved. 2202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org// Use of this source code is governed by a BSD-style license that can be 3202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org// found in the LICENSE file. 4202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org 5202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgvar array = []; 6202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgvar v = 0; 7202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org 8202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgObject.defineProperty(Array.prototype, "0", { 9202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org get: function() { return "get " + v; }, 10202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org set: function(value) { v += value; } 11202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org}); 12202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org 13202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgarray[0] = 10; 14202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgassertEquals(0, array.length); 15202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgassertEquals(10, v); 16202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgassertEquals("get 10", array[0]); 17202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.org 18202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgarray.push(100); 19202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgassertEquals(1, array.length); 20202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgassertEquals(110, v); 21202b1d8cd93e567672cc92f48fedc35989c47312machenbach@chromium.orgassertEquals("get 110", array[0]); 22