Chromium Code Reviews| 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 |
| }; |