| Index: test/mjsunit/harmony/block-let-declaration.js
|
| diff --git a/test/mjsunit/harmony/block-let-declaration.js b/test/mjsunit/harmony/block-let-declaration.js
|
| index e43e62b044959530f5600c11f3b64599dfa04f88..a1acc28da955ff4e3ab7de0de132ade61c74c395 100644
|
| --- a/test/mjsunit/harmony/block-let-declaration.js
|
| +++ b/test/mjsunit/harmony/block-let-declaration.js
|
| @@ -32,15 +32,18 @@
|
| // Global
|
| let x;
|
| let y = 2;
|
| +const z = 4;
|
|
|
| // Block local
|
| {
|
| let y;
|
| let x = 3;
|
| + const z = 5;
|
| }
|
|
|
| assertEquals(undefined, x);
|
| assertEquals(2,y);
|
| +assertEquals(4,z);
|
|
|
| if (true) {
|
| let y;
|
| @@ -58,7 +61,7 @@ function TestLocalDoesNotThrow(str) {
|
| assertDoesNotThrow("(function(){" + str + "})()");
|
| }
|
|
|
| -// Test let declarations statement positions.
|
| +// Test let declarations in statement positions.
|
| TestLocalThrows("if (true) let x;", SyntaxError);
|
| TestLocalThrows("if (true) {} else let x;", SyntaxError);
|
| TestLocalThrows("do let x; while (false)", SyntaxError);
|
| @@ -68,7 +71,32 @@ TestLocalThrows("for (;false;) let x;", SyntaxError);
|
| TestLocalThrows("switch (true) { case true: let x; }", SyntaxError);
|
| TestLocalThrows("switch (true) { default: let x; }", SyntaxError);
|
|
|
| -// Test var declarations statement positions.
|
| +// Test const declarations with initialisers in statement positions.
|
| +TestLocalThrows("if (true) const x = 1;", SyntaxError);
|
| +TestLocalThrows("if (true) {} else const x = 1;", SyntaxError);
|
| +TestLocalThrows("do const x = 1; while (false)", SyntaxError);
|
| +TestLocalThrows("while (false) const x = 1;", SyntaxError);
|
| +TestLocalThrows("label: const x = 1;", SyntaxError);
|
| +TestLocalThrows("for (;false;) const x = 1;", SyntaxError);
|
| +TestLocalThrows("switch (true) { case true: const x = 1; }", SyntaxError);
|
| +TestLocalThrows("switch (true) { default: const x = 1; }", SyntaxError);
|
| +
|
| +// Test const declarations without initialisers.
|
| +TestLocalThrows("const x;", SyntaxError);
|
| +TestLocalThrows("const x = 1, y;", SyntaxError);
|
| +TestLocalThrows("const x, y = 1;", SyntaxError);
|
| +
|
| +// Test const declarations without initialisers in statement positions.
|
| +TestLocalThrows("if (true) const x;", SyntaxError);
|
| +TestLocalThrows("if (true) {} else const x;", SyntaxError);
|
| +TestLocalThrows("do const x; while (false)", SyntaxError);
|
| +TestLocalThrows("while (false) const x;", SyntaxError);
|
| +TestLocalThrows("label: const x;", SyntaxError);
|
| +TestLocalThrows("for (;false;) const x;", SyntaxError);
|
| +TestLocalThrows("switch (true) { case true: const x; }", SyntaxError);
|
| +TestLocalThrows("switch (true) { default: const x; }", SyntaxError);
|
| +
|
| +// Test var declarations in statement positions.
|
| TestLocalDoesNotThrow("if (true) var x;");
|
| TestLocalDoesNotThrow("if (true) {} else var x;");
|
| TestLocalDoesNotThrow("do var x; while (false)");
|
|
|