testUnaryImacros.js (535B)
1 function testUnaryImacros() 2 { 3 function checkArg(x) 4 { 5 return 1; 6 } 7 8 var o = { valueOf: checkArg, toString: null }; 9 var count = 0; 10 var v = 0; 11 for (var i = 0; i < 5; i++) 12 v += +o + -(-o); 13 14 var results = [v === 10 ? "valueOf passed" : "valueOf failed"]; 15 16 o.valueOf = null; 17 o.toString = checkArg; 18 19 for (var i = 0; i < 5; i++) 20 v += +o + -(-o); 21 22 results.push(v === 20 ? "toString passed" : "toString failed"); 23 24 return results.join(", "); 25 } 26 assertEq(testUnaryImacros(), "valueOf passed, toString passed");