summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/closures/t017.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/closures/t017.js')
-rw-r--r--js/src/jit-test/tests/closures/t017.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/closures/t017.js b/js/src/jit-test/tests/closures/t017.js
new file mode 100644
index 000000000..92acf013d
--- /dev/null
+++ b/js/src/jit-test/tests/closures/t017.js
@@ -0,0 +1,23 @@
+actual = '';
+expected = '0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,';
+
+function g(a) {
+ for (var i = 0; i < 3; ++i) {
+ a();
+ }
+}
+
+function f(y) {
+ var q;
+ for (var i = 0; i < 7; ++i) {
+ q = function() { appendToActual(y); };
+ g(q);
+ }
+}
+
+for (var i = 0; i < 5; ++i) {
+ f(i);
+ }
+
+
+assertEq(actual, expected)