Login
200-200-for.s2 at [428464d569]
Login

File s2/unit/200-200-for.s2 artifact 85cd0972c4 part of check-in 428464d569



for(var i = 1, x = -1;
        i >= -1;
        i -= 1, x+=1){
  //print('for(): i =',i,'x =',x);
}
assert 'undefined' === typename i;

var i = 0, x = for(;;){
  (i = i + 1)>3 && break i
};
assert 4 === i;
assert x === i;

x = for(i = 0;;){
  scope {
    catch{ (i = i + 1)>4 && break i }
  }
};
assert 5 === i;
assert x === i;

assert -1 === (1-2 ||| for(;;){/* if this infinite loops then skip mode is broken*/});
assert -1 === eval 1-2 ||| for(;;){/* if this infinite loops then skip mode is broken*/};
assert false === (0 && for(;;){/* if this infinite loops then skip mode is broken*/});
assert false === eval 0 && for(;;){/* if this infinite loops then skip mode is broken*/};


for(i = 0, x = 0;
    i < 3;
   ) ++i, x += 2;
assert 3 === i;
assert 3 === i /* make sure the previous line wasn't snarfed by the loop */;
assert 6 === x;

for(i = 0, x = 0; i < 3; ++i
) x += 2;
assert 3 === i;
assert 3 === i /* make sure the previous line wasn't snarfed by the loop */;
assert 6 === x;

for(i = 0, x = 0; i < 3; ++i    );
assert 3 === i;
assert 3 === i /* make sure the previous line wasn't snarfed by the loop */;
assert 0 === x;