1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
var countG = 0; function g() { switch(countG++) { case 0: return 42; case 1: return "yo"; case 2: return {}; } } var countFault = 0; function uceFault() { if (countFault++ == 4) uceFault = function() { return true } return false; } function f() { var x = !g(); if (uceFault() || uceFault()) { assertEq(x, false); return 0; } return 1; } f(); f(); f();