js/src/tests/js1_8_5/extensions/regress-604781-1.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:b946a2065b0f
1 // Any copyright is dedicated to the Public Domain.
2 // http://creativecommons.org/licenses/publicdomain/
3
4 var watcherCount, setterCount;
5 function watcher(id, oldval, newval) { watcherCount++; return newval; }
6 function setter(newval) { setterCount++; }
7
8 var p = { set x(v) { setter(v); } };
9 p.watch('x', watcher);
10
11 watcherCount = setterCount = 0;
12 p.x = 2;
13 assertEq(setterCount, 1);
14 assertEq(watcherCount, 1);
15
16 var o = Object.defineProperty({}, 'x', { set:setter, enumerable:true, configurable:true });
17 o.watch('x', watcher);
18
19 watcherCount = setterCount = 0;
20 o.x = 2;
21 assertEq(setterCount, 1);
22 assertEq(watcherCount, 1);
23
24 reportCompare(0, 0, 'ok');

mercurial