diff -r 000000000000 -r 6474c204b198 js/src/jit-test/tests/closures/nameinc-loop-3.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/src/jit-test/tests/closures/nameinc-loop-3.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,33 @@ +actual = ''; +expected = 'g 1 0,g 2 -1,g 3 -2,g 4 -3,g 5 -4,h 5 -5,f 5,undefined,g 1 0,g 2 -1,g 3 -2,g 4 -3,g 5 -4,h 5 -5,f 5,undefined,g 1 0,g 2 -1,g 3 -2,g 4 -3,g 5 -4,h 5 -5,f 5,undefined,g 1 0,g 2 -1,g 3 -2,g 4 -3,g 5 -4,h 5 -5,f 5,undefined,g 1 0,g 2 -1,g 3 -2,g 4 -3,g 5 -4,h 5 -5,f 5,undefined,'; + +var f = function() { + var p = 0; + + function h() { + var q = 0; + + function g() { + for (var i = 0; i < 5; ++i) { + p++; + appendToActual('g ' + p + ' ' + q); + q--; + } + } + g(); + appendToActual('h ' + p + ' ' + q); + } + + h(); + + appendToActual('f ' + p); +} + +for (var i = 0; i < 5; ++i) { + f(); + appendToActual(); +} + + + +assertEq(actual, expected)