| load(libdir + 'asserts.js'); | |
| var calls = 0; | |
| function g() { | |
| calls++; | |
| }; | |
| function test1() { | |
| for (var i=0; i<20; i++) { | |
| if (i > 18) | |
| g() = 2; | |
| } | |
| } | |
| assertThrowsInstanceOf(test1, ReferenceError); | |
| assertEq(calls, 1); | |
| function test2() { | |
| for (var i=0; i<20; i++) { | |
| if (i > 18) | |
| g()++; | |
| } | |
| } | |
| assertThrowsInstanceOf(test2, ReferenceError); | |
| assertEq(calls, 2); | |
| function test3() { | |
| for (var i=0; i<20; i++) { | |
| if (i > 18) | |
| g() >>= 2; | |
| } | |
| } | |
| assertThrowsInstanceOf(test3, ReferenceError); | |
| assertEq(calls, 3); |