/* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/licenses/publicdomain/ * Contributor: * Jeff Walden */ //----------------------------------------------------------------------------- var BUGNUMBER = 901351; var summary = "Behavior when the JSON.parse reviver mutates the holder array"; print(BUGNUMBER + ": " + summary); /************** * BEGIN TEST * **************/ var proxyObj = null; var arr = JSON.parse('[0, 1]', function(prop, v) { if (prop === "0") { proxyObj = new Proxy({ c: 17, d: 42 }, {}); this[1] = proxyObj; } return v; }); assertEq(arr[0], 0); assertEq(arr[1], proxyObj); assertEq(arr[1].c, 17); assertEq(arr[1].d, 42); /******************************************************************************/ if (typeof reportCompare === "function") reportCompare(true, true); print("Tests complete");