Index: test/cctest/test-parsing.cc |
diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc |
index 88dadcb1bf8ba35db6d0d986065e2f52ca370350..cbb79b16da9cc757f385978cb90193f14614163d 100644 |
--- a/test/cctest/test-parsing.cc |
+++ b/test/cctest/test-parsing.cc |
@@ -1436,7 +1436,8 @@ enum ParserFlag { |
kAllowHarmonyDestructuring, |
kAllowHarmonySpreadArrays, |
kAllowHarmonyNewTarget, |
- kAllowStrongMode |
+ kAllowStrongMode, |
+ kNoLegacyConst |
}; |
@@ -1468,6 +1469,7 @@ void SetParserFlags(i::ParserBase<Traits>* parser, |
flags.Contains(kAllowHarmonySpreadArrays)); |
parser->set_allow_harmony_new_target(flags.Contains(kAllowHarmonyNewTarget)); |
parser->set_allow_strong_mode(flags.Contains(kAllowStrongMode)); |
+ parser->set_allow_legacy_const(!flags.Contains(kNoLegacyConst)); |
} |
@@ -6762,3 +6764,29 @@ TEST(NewTarget) { |
RunParserSyncTest(bad_context_data, data, kError, NULL, 0, always_flags, |
arraysize(always_flags)); |
} |
+ |
+ |
+TEST(LegacyConst) { |
+ // clang-format off |
+ const char* context_data[][2] = { |
+ {"", ""}, |
+ {"{", "}"}, |
+ {NULL, NULL} |
+ }; |
+ |
+ const char* data[] = { |
+ "const x", |
+ "const x = 1", |
+ "for (const x = 1; x < 1; x++) {}", |
+ "for (const x in {}) {}", |
+ "for (const x of []) {}", |
+ NULL |
+ }; |
+ // clang-format on |
+ |
+ static const ParserFlag always_flags[] = {kNoLegacyConst}; |
+ |
+ RunParserSyncTest(context_data, data, kError, NULL, 0, always_flags, |
+ arraysize(always_flags)); |
+ RunParserSyncTest(context_data, data, kSuccess); |
+} |