michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: var BUGNUMBER = 419018; michael@0: var summary = 'UMR in JSENUMERATE_INIT'; michael@0: var actual = 'No Crash'; michael@0: var expect = 'No Crash'; michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: test(); michael@0: //----------------------------------------------------------------------------- michael@0: michael@0: function test() michael@0: { michael@0: enterFunc ('test'); michael@0: printBugNumber(BUGNUMBER); michael@0: printStatus (summary); michael@0: michael@0: print('This test must be run under valgrind to check if an UMR occurs in slowarray_enumerate'); michael@0: michael@0: try michael@0: { michael@0: function parse() { michael@0: var a = []; // need array init michael@0: a["b"] = 1; // need to set obj property michael@0: return a; michael@0: } michael@0: // var c; // can't declare c michael@0: // var d = {}; // can't add this (weird!) michael@0: // var d = ""; // nor this michael@0: var x = parse(""); // won't crash without string arg (weird!) michael@0: // var d = ""; // nor here michael@0: for (var o in x) michael@0: c[o]; // need to look up o in undefined object michael@0: } michael@0: catch(ex) michael@0: { michael@0: } michael@0: michael@0: reportCompare(expect, actual, summary); michael@0: michael@0: exitFunc ('test'); michael@0: } michael@0: