blob: 71e1387c73c99fc3850ea5c7a048db516bd203f0 [file] [log] [blame]
function postInc() {
var counter = 0;
var o = {};
o.valueOf = () => {counter++; return 42};
var x = o++; // The "var x =" part is required, or this gets transformed into ++o super early
if (counter != 1)
throw "A post-increment called valueOf " + counter + " times instead of just once.";
}
function postDec() {
var counter = 0;
var o = {};
o.valueOf = () => {counter++; return 42};
var x = o--; // The "var x =" part is required, or this gets transformed into --o super early
if (counter != 1)
throw "A pre-increment called valueOf " + counter + " times instead of just once.";
}
for (var i = 0; i < 20000; ++i) {
postInc();
postDec();
}