summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_6/Comprehensions/scope.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/ecma_6/Comprehensions/scope.js')
-rw-r--r--js/src/tests/ecma_6/Comprehensions/scope.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Comprehensions/scope.js b/js/src/tests/ecma_6/Comprehensions/scope.js
new file mode 100644
index 000000000..e9083d552
--- /dev/null
+++ b/js/src/tests/ecma_6/Comprehensions/scope.js
@@ -0,0 +1,18 @@
+// The identifier of a ComprehensionFor is only bound within its tail.
+
+function t() {
+ var x = [0, 1, 2];
+ return [for (x of x) x*2]
+}
+assertDeepEq(t(), [0, 2, 4]);
+
+// Each iteration should create a fresh binding. Unfortunately this is
+// not currently the case, but bug 449811 will fix this.
+function t2() {
+ var x = [0, 1, 2];
+ return [for (x of x) ()=>x]
+}
+// FIXME: Should be [0, 1, 2].
+assertDeepEq([for (x of t2()) x()], [2, 2, 2]);
+
+reportCompare(null, null, "test");