setcall.js (534B)
1 load(libdir + 'asserts.js'); 2 3 var calls = 0; 4 function g() { 5 calls++; 6 }; 7 function test1() { 8 for (var i=0; i<20; i++) { 9 if (i > 18) 10 g() = 2; 11 } 12 } 13 assertThrowsInstanceOf(test1, ReferenceError); 14 assertEq(calls, 1); 15 16 function test2() { 17 for (var i=0; i<20; i++) { 18 if (i > 18) 19 g()++; 20 } 21 } 22 assertThrowsInstanceOf(test2, ReferenceError); 23 assertEq(calls, 2); 24 25 function test3() { 26 for (var i=0; i<20; i++) { 27 if (i > 18) 28 g() >>= 2; 29 } 30 } 31 assertThrowsInstanceOf(test3, ReferenceError); 32 assertEq(calls, 3);