Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / js1_8_1 / extensions / regress-520572.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  * Contributor: Blake Kaplan
6  */
7
8 //-----------------------------------------------------------------------------
9 var BUGNUMBER = 520572;
10 var summary = 'watch should innerize the object being watched';
11 var actual = 0;
12 var expect = 2;
13
14
15 //-----------------------------------------------------------------------------
16 test();
17 //-----------------------------------------------------------------------------
18
19 function test()
20 {
21   enterFunc ('test');
22   printBugNumber(BUGNUMBER);
23   printStatus (summary);
24
25   if ("evalcx" in this) {
26       // shell
27       let s = evalcx("split");
28       s.n = 0;
29       evalcx('this.watch("x", function(){ n++; }); this.x = 4; x = 6', s);
30       actual = s.n;
31       reportCompare(expect, actual, summary);
32   } else {
33       // browser
34       this.watch('x', function(){ actual++; });
35       this.x = 4;
36       x = 6;
37       reportCompare(expect, actual, summary);
38   }
39
40   exitFunc ('test');
41 }