michael@0: actual = ''; michael@0: expected = 'foo4,foo4,'; michael@0: michael@0: v = 0 michael@0: let(f = function (y) { michael@0: let(f = function (y) { michael@0: let(f = function (g) { michael@0: for (h in g) { michael@0: if (++y > 3) { michael@0: appendToActual('foo' + y) michael@0: } michael@0: } michael@0: }) { michael@0: f([y michael@0: for (b in [1, []])]); michael@0: f(['', false]) michael@0: } michael@0: v = String michael@0: }) { michael@0: f(y) michael@0: f(y) michael@0: } michael@0: }) { michael@0: f(v) michael@0: } michael@0: michael@0: michael@0: assertEq(actual, expected)