Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(982)

Unified Diff: test/mjsunit/harmony/block-let-declaration.js

Issue 7616009: Parse harmony let declarations. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Updated tests. Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/mjsunit/harmony/block-let-declaration.js
diff --git a/test/mjsunit/harmony/block-scoping.js b/test/mjsunit/harmony/block-let-declaration.js
similarity index 72%
copy from test/mjsunit/harmony/block-scoping.js
copy to test/mjsunit/harmony/block-let-declaration.js
index f974de82b5ce35b94dc58acb0ed651246014e1f9..50b5617e6435356a626033405680378242fe4dd9 100644
--- a/test/mjsunit/harmony/block-scoping.js
+++ b/test/mjsunit/harmony/block-let-declaration.js
@@ -25,34 +25,31 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Flags: --allow-natives-syntax --harmony-block-scoping
-// Test functionality of block scopes.
+// Flags: --harmony-block-scoping
-// Hoisting of var declarations.
-function f1() {
- {
- var x = 1;
- var y;
- }
- assertEquals(1, x)
- assertEquals(undefined, y)
+// Test let declarations in various settings.
+
+// Global
+let x;
+let y = 2;
+
+// Block local
+{
+ let y;
+ let x = 3;
}
-f1();
-// Dynamic lookup through block scopes.
-function f2(one) {
- var x = one + 1;
- // TODO(keuchel): introduce let
- // let y = one + 2;
- if (one == 1) {
- // Parameter
- assertEquals(1, eval('one'));
- // Function local var variable
- assertEquals(2, eval('x'));
- // Function local let variable
- // TODO(keuchel): introduce let
- // assertEquals(3, eval('y'));
- }
+if (true) {
+ let x;
}
-f2(1);
Lasse Reichstein 2011/08/16 11:00:46 Try checking the value of x and y here, just for s
Steven 2011/08/16 15:06:08 Done.
+// Unprotected statement
+assertThrows("if (true) let x;", SyntaxError);
+assertThrows("with ({}) let x;", SyntaxError);
+assertThrows("do let x; while (false)", SyntaxError);
+assertThrows("while (false) let x;", SyntaxError);
+
Lasse Reichstein 2011/08/16 11:00:46 Notic that these code blocks are executed using a
Steven 2011/08/16 15:06:08 It's more like checking the parser. On 2011/08/16
+assertDoesNotThrow("if (true) var x;");
+assertDoesNotThrow("with ({}) var x;");
+assertDoesNotThrow("do var x; while (false)");
+assertDoesNotThrow("while (false) var x;");

Powered by Google App Engine
This is Rietveld 408576698