Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / js1_4 / Eval / regress-531682.js
1 /* -*- Mode: java; tab-width:8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * Any copyright is dedicated to the Public Domain.
4  * http://creativecommons.org/licenses/publicdomain/
5  */
6
7 //-----------------------------------------------------------------------------
8 var BUGNUMBER = 531682;
9 var summary = 'Checking proper wrapping of scope in  eval(source, scope)';
10 var actual;
11 var expect;
12
13 //-----------------------------------------------------------------------------
14 var x = 0;
15
16 test();
17 //-----------------------------------------------------------------------------
18
19 function scope1() {
20     eval('var x = 1;');
21     return function() { return x; }
22 }
23
24 function test() {
25     enterFunc ('test');
26     printBugNumber(BUGNUMBER);
27     printStatus (summary);
28
29     // The scope chain in eval should be just scope1() and the global object.
30     actual = eval('x', scope1());
31     expect = 0;
32     reportCompare(expect, actual, summary);
33     exitFunc ('test');
34 }