js/src/tests/js1_6/extensions/regress-352392.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:2e78d6bf9e83
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 //-----------------------------------------------------------------------------
7 var BUGNUMBER = 352392;
8 var summary = 'Do not hang/crash |for each| over object with getter set to map';
9 var actual = 'No Crash';
10 var expect = 'No Crash';
11
12
13 //-----------------------------------------------------------------------------
14 test();
15 //-----------------------------------------------------------------------------
16
17 function test()
18 {
19 enterFunc ('test');
20 printBugNumber(BUGNUMBER);
21 printStatus (summary);
22
23 expect = 'SyntaxError: invalid for each loop';
24 try
25 {
26 var obj = { };
27 Object.defineProperty(obj, "y", { get: Array.prototype.map, enumerable: true, configurable: true });
28 eval('(function() { for each(let z in obj) { } })()');
29 }
30 catch(ex)
31 {
32 actual = ex + '';
33 }
34
35 reportCompare(expect, actual, summary);
36
37 exitFunc ('test');
38 }

mercurial