// assignment to watched global properties must not be traced | |
var hits = 0; | |
function counter(id, oldval, newval) { | |
hits++; | |
return newval; | |
} | |
var x = 0; | |
var y = 0; | |
(function () { | |
var a = ['x', 'y']; | |
this.watch('z', counter); | |
for (var i = 0; i < 14; i++) { | |
this.watch(a[+(i > 8)], counter); | |
y = 1; | |
} | |
})(); | |
assertEq(hits, 5); | |