|
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 = 496922; |
|
8 var summary = 'Incorrect handling of extra arguments'; |
|
9 var actual = '' |
|
10 var expect = '0,0,1,1,2,2,3,3'; |
|
11 |
|
12 |
|
13 //----------------------------------------------------------------------------- |
|
14 |
|
15 // The code must run as part of the top-level script in order to get the bug. |
|
16 enterFunc ('test'); |
|
17 printBugNumber(BUGNUMBER); |
|
18 printStatus (summary); |
|
19 jit(true); |
|
20 |
|
21 var a = []; |
|
22 let( |
|
23 f = function() { |
|
24 for (let x = 0; x < 4; ++x) { |
|
25 (function() { |
|
26 for (let y = 0; y < 2; ++y) { |
|
27 a.push(x); |
|
28 } |
|
29 })() |
|
30 } |
|
31 }) { (function() {})() |
|
32 f(99) |
|
33 } |
|
34 actual = '' + a; |
|
35 |
|
36 jit(false); |
|
37 reportCompare(expect, actual, summary); |
|
38 exitFunc ('test'); |
|
39 //----------------------------------------------------------------------------- |
|
40 |