diff options
Diffstat (limited to 'js/src/tests/ecma_6/Comprehensions/scope.js')
-rw-r--r-- | js/src/tests/ecma_6/Comprehensions/scope.js | 18 |
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"); |