| Index: test/mjsunit/harmony/block-let-contextual-sloppy.js
|
| diff --git a/test/mjsunit/harmony/block-let-contextual-sloppy.js b/test/mjsunit/harmony/block-let-contextual-sloppy.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9b3cc44c0d2f6a957fccf6604816e61778974c45
|
| --- /dev/null
|
| +++ b/test/mjsunit/harmony/block-let-contextual-sloppy.js
|
| @@ -0,0 +1,64 @@
|
| +// Copyright 2015 the V8 project authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +// Flags: --harmony-sloppy --harmony-sloppy-let --harmony-destructuring
|
| +
|
| +
|
| +{
|
| + assertThrows(function() { return let; }, ReferenceError);
|
| + let let;
|
| +
|
| + let = 5;
|
| + assertEquals(5, let);
|
| +
|
| + { let let = 1; assertEquals(1, let); }
|
| + assertEquals(5, let);
|
| +}
|
| +
|
| +assertThrows(function() { return let; }, ReferenceError);
|
| +
|
| +(function() {
|
| + var let, sum = 0;
|
| + for (let in [1, 2, 3, 4]) sum += Number(let);
|
| + assertEquals(6, sum);
|
| +
|
| + for (let let of [4, 5]) sum += let;
|
| + assertEquals(15, sum);
|
| +
|
| + for (let let in [6]) sum += Number([6][let]);
|
| + assertEquals(21, sum);
|
| +
|
| + for (let = 7; let < 8; let++) sum += let;
|
| + assertEquals(28, sum);
|
| + assertEquals(8, let);
|
| +
|
| + for (let let = 8; let < 9; let++) sum += let;
|
| + assertEquals(36, sum);
|
| + assertEquals(8, let);
|
| +})()
|
| +
|
| +assertThrows(function() { return let; }, ReferenceError);
|
| +
|
| +{
|
| + let obj = {};
|
| + let {let} = {let() { return obj; }};
|
| + let().x = 1;
|
| + assertEquals(1, obj.x);
|
| +}
|
| +
|
| +{
|
| + let obj = {};
|
| + let [let] = [function() { return obj; }];
|
| + let().x = 1;
|
| + assertEquals(1, obj.x);
|
| +}
|
| +
|
| +(function() {
|
| + function let() {
|
| + return 1;
|
| + }
|
| + assertEquals(1, let());
|
| +})()
|
| +
|
| +assertThrows('for (let of []) {}', SyntaxError);
|
|
|