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

Side by Side Diff: test/cctest/test-parsing.cc

Issue 2203843002: Remove --harmony-exponentiation-operator flag (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 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 unified diff | Download patch
« no previous file with comments | « src/parsing/scanner.cc ('k') | test/mjsunit/es7/exponentiation-operator.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1539 matching lines...) Expand 10 before | Expand all | Expand 10 after
1550 1550
1551 data.Dispose(); 1551 data.Dispose();
1552 return i::MessageTemplate::FormatMessage(isolate, message, arg_object); 1552 return i::MessageTemplate::FormatMessage(isolate, message, arg_object);
1553 } 1553 }
1554 1554
1555 enum ParserFlag { 1555 enum ParserFlag {
1556 kAllowLazy, 1556 kAllowLazy,
1557 kAllowNatives, 1557 kAllowNatives,
1558 kAllowHarmonyFunctionSent, 1558 kAllowHarmonyFunctionSent,
1559 kAllowHarmonyRestrictiveDeclarations, 1559 kAllowHarmonyRestrictiveDeclarations,
1560 kAllowHarmonyExponentiationOperator,
1561 kAllowHarmonyForIn, 1560 kAllowHarmonyForIn,
1562 kAllowHarmonyAsyncAwait, 1561 kAllowHarmonyAsyncAwait,
1563 kAllowHarmonyRestrictiveGenerators, 1562 kAllowHarmonyRestrictiveGenerators,
1564 kAllowHarmonyTrailingCommas, 1563 kAllowHarmonyTrailingCommas,
1565 }; 1564 };
1566 1565
1567 enum ParserSyncTestResult { 1566 enum ParserSyncTestResult {
1568 kSuccessOrError, 1567 kSuccessOrError,
1569 kSuccess, 1568 kSuccess,
1570 kError 1569 kError
1571 }; 1570 };
1572 1571
1573 template <typename Traits> 1572 template <typename Traits>
1574 void SetParserFlags(i::ParserBase<Traits>* parser, 1573 void SetParserFlags(i::ParserBase<Traits>* parser,
1575 i::EnumSet<ParserFlag> flags) { 1574 i::EnumSet<ParserFlag> flags) {
1576 parser->set_allow_lazy(flags.Contains(kAllowLazy)); 1575 parser->set_allow_lazy(flags.Contains(kAllowLazy));
1577 parser->set_allow_natives(flags.Contains(kAllowNatives)); 1576 parser->set_allow_natives(flags.Contains(kAllowNatives));
1578 parser->set_allow_harmony_function_sent( 1577 parser->set_allow_harmony_function_sent(
1579 flags.Contains(kAllowHarmonyFunctionSent)); 1578 flags.Contains(kAllowHarmonyFunctionSent));
1580 parser->set_allow_harmony_restrictive_declarations( 1579 parser->set_allow_harmony_restrictive_declarations(
1581 flags.Contains(kAllowHarmonyRestrictiveDeclarations)); 1580 flags.Contains(kAllowHarmonyRestrictiveDeclarations));
1582 parser->set_allow_harmony_exponentiation_operator(
1583 flags.Contains(kAllowHarmonyExponentiationOperator));
1584 parser->set_allow_harmony_for_in(flags.Contains(kAllowHarmonyForIn)); 1581 parser->set_allow_harmony_for_in(flags.Contains(kAllowHarmonyForIn));
1585 parser->set_allow_harmony_async_await( 1582 parser->set_allow_harmony_async_await(
1586 flags.Contains(kAllowHarmonyAsyncAwait)); 1583 flags.Contains(kAllowHarmonyAsyncAwait));
1587 parser->set_allow_harmony_restrictive_generators( 1584 parser->set_allow_harmony_restrictive_generators(
1588 flags.Contains(kAllowHarmonyRestrictiveGenerators)); 1585 flags.Contains(kAllowHarmonyRestrictiveGenerators));
1589 parser->set_allow_harmony_trailing_commas( 1586 parser->set_allow_harmony_trailing_commas(
1590 flags.Contains(kAllowHarmonyTrailingCommas)); 1587 flags.Contains(kAllowHarmonyTrailingCommas));
1591 } 1588 }
1592 1589
1593 1590
(...skipping 5869 matching lines...) Expand 10 before | Expand all | Expand 10 after
7463 "--O.p ** 10", 7460 "--O.p ** 10",
7464 "--x ** 10", 7461 "--x ** 10",
7465 "O.p++ ** 10", 7462 "O.p++ ** 10",
7466 "x++ ** 10", 7463 "x++ ** 10",
7467 "O.p-- ** 10", 7464 "O.p-- ** 10",
7468 "x-- ** 10", 7465 "x-- ** 10",
7469 NULL 7466 NULL
7470 }; 7467 };
7471 // clang-format on 7468 // clang-format on
7472 7469
7473 static const ParserFlag always_flags[] = { 7470 RunParserSyncTest(context_data, data, kSuccess);
7474 kAllowHarmonyExponentiationOperator};
7475 RunParserSyncTest(context_data, data, kSuccess, NULL, 0, always_flags,
7476 arraysize(always_flags));
7477 } 7471 }
7478 7472
7479 TEST(ExponentiationOperatorErrors) { 7473 TEST(ExponentiationOperatorErrors) {
7480 // clang-format off 7474 // clang-format off
7481 const char* context_data[][2] = { 7475 const char* context_data[][2] = {
7482 { "var O = { p: 1 }, x = 10; ; if (", ") { foo(); }" }, 7476 { "var O = { p: 1 }, x = 10; ; if (", ") { foo(); }" },
7483 { "var O = { p: 1 }, x = 10; ; (", ")" }, 7477 { "var O = { p: 1 }, x = 10; ; (", ")" },
7484 { "var O = { p: 1 }, x = 10; foo(", ")" }, 7478 { "var O = { p: 1 }, x = 10; foo(", ")" },
7485 { NULL, NULL } 7479 { NULL, NULL }
7486 }; 7480 };
(...skipping 26 matching lines...) Expand all
7513 "[ x ] **= [ 2 ]", 7507 "[ x ] **= [ 2 ]",
7514 "[ x **= 2 ] = [ 2 ]", 7508 "[ x **= 2 ] = [ 2 ]",
7515 "{ x } **= { x: 2 }", 7509 "{ x } **= { x: 2 }",
7516 "{ x: x **= 2 ] = { x: 2 }", 7510 "{ x: x **= 2 ] = { x: 2 }",
7517 // TODO(caitp): a Call expression as LHS should be an early ReferenceError! 7511 // TODO(caitp): a Call expression as LHS should be an early ReferenceError!
7518 // "Array() **= 10", 7512 // "Array() **= 10",
7519 NULL 7513 NULL
7520 }; 7514 };
7521 // clang-format on 7515 // clang-format on
7522 7516
7523 static const ParserFlag always_flags[] = { 7517 RunParserSyncTest(context_data, error_data, kError);
7524 kAllowHarmonyExponentiationOperator};
7525 RunParserSyncTest(context_data, error_data, kError, NULL, 0, always_flags,
7526 arraysize(always_flags));
7527 } 7518 }
7528 7519
7529 TEST(AsyncAwait) { 7520 TEST(AsyncAwait) {
7530 // clang-format off 7521 // clang-format off
7531 const char* context_data[][2] = { 7522 const char* context_data[][2] = {
7532 { "'use strict';", "" }, 7523 { "'use strict';", "" },
7533 { "", "" }, 7524 { "", "" },
7534 { NULL, NULL } 7525 { NULL, NULL }
7535 }; 7526 };
7536 7527
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
7986 "(a,);", 7977 "(a,);",
7987 "(a,b,c,);", 7978 "(a,b,c,);",
7988 NULL 7979 NULL
7989 }; 7980 };
7990 // clang-format on 7981 // clang-format on
7991 7982
7992 static const ParserFlag always_flags[] = {kAllowHarmonyTrailingCommas}; 7983 static const ParserFlag always_flags[] = {kAllowHarmonyTrailingCommas};
7993 RunParserSyncTest(context_data, data, kError, NULL, 0, always_flags, 7984 RunParserSyncTest(context_data, data, kError, NULL, 0, always_flags,
7994 arraysize(always_flags)); 7985 arraysize(always_flags));
7995 } 7986 }
OLDNEW
« no previous file with comments | « src/parsing/scanner.cc ('k') | test/mjsunit/es7/exponentiation-operator.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698