Index: test/cctest/test-parsing.cc |
diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc |
index d4fc206e76f48c482dc5a0317f9f5ae60595a198..0ce2b2c41e74c4998ed17e2ce293363bea114eed 100644 |
--- a/test/cctest/test-parsing.cc |
+++ b/test/cctest/test-parsing.cc |
@@ -1749,9 +1749,45 @@ TEST(ErrorsReservedWords) { |
} |
+TEST(NoErrorsLetSloppyAllModes) { |
+ // In sloppy mode, it's okay to use "let" as identifier. |
+ const char* context_data[][2] = { |
+ { "", "" }, |
+ { "function f() {", "}" }, |
+ { "(function f() {", "})" }, |
+ { NULL, NULL } |
+ }; |
+ |
+ const char* statement_data[] = { |
+ "var let;", |
+ "var foo, let;", |
+ "try { } catch (let) { }", |
+ "function let() { }", |
+ "(function let() { })", |
+ "function foo(let) { }", |
+ "function foo(bar, let) { }", |
+ "let = 1;", |
+ "var foo = let = 1;", |
+ "let * 2;", |
+ "++let;", |
+ "let++;", |
+ "let: 34", |
+ "function let(let) { let: let(let + let(0)); }", |
+ "({ let: 1 })", |
+ "({ get let() { 1 } })", |
+ "let(100)", |
+ NULL |
+ }; |
+ |
+ static const ParserFlag always_flags[] = {kAllowArrowFunctions}; |
marja
2014/07/10 14:35:13
Afaics this test doesn't need kAllowArrowFunctions
rossberg
2014/07/10 14:39:00
Right, done.
|
+ RunParserSyncTest(context_data, statement_data, kSuccess, NULL, 0, |
+ always_flags, ARRAY_SIZE(always_flags)); |
+} |
+ |
+ |
TEST(NoErrorsYieldSloppyAllModes) { |
// In sloppy mode, it's okay to use "yield" as identifier, *except* inside a |
- // generator (see next test). |
+ // generator (see other test). |
const char* context_data[][2] = { |
{ "", "" }, |
{ "function not_gen() {", "}" }, |
@@ -1769,13 +1805,15 @@ TEST(NoErrorsYieldSloppyAllModes) { |
"function foo(bar, yield) { }", |
"yield = 1;", |
"var foo = yield = 1;", |
+ "yield * 2;", |
"++yield;", |
"yield++;", |
"yield: 34", |
- "function yield(yield) { yield: yield (yield + yield (0)); }", |
+ "function yield(yield) { yield: yield (yield + yield(0)); }", |
"({ yield: 1 })", |
"({ get yield() { 1 } })", |
- "yield (100)", |
+ "yield(100)", |
+ "yield[100]", |
NULL |
}; |
@@ -1809,13 +1847,15 @@ TEST(NoErrorsYieldSloppyGeneratorsEnabled) { |
"(function * yield() { })", |
"yield = 1;", |
"var foo = yield = 1;", |
+ "yield * 2;", |
"++yield;", |
"yield++;", |
"yield: 34", |
- "function yield(yield) { yield: yield (yield + yield (0)); }", |
+ "function yield(yield) { yield: yield (yield + yield(0)); }", |
"({ yield: 1 })", |
"({ get yield() { 1 } })", |
- "yield (100)", |
+ "yield(100)", |
+ "yield[100]", |
NULL |
}; |