From 2a898fe819bbe860923a0a37c7e8f39eae841cc1 Mon Sep 17 00:00:00 2001 From: Mike Pennisi Date: Fri, 3 Sep 2021 18:15:21 -0400 Subject: [PATCH] Add test for normative change to BlockStatement Normative: continue labels should not pass through blocks https://github.com/tc39/ecma262/pull/2482 --- .../statements/block/labeled-continue.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/language/statements/block/labeled-continue.js diff --git a/test/language/statements/block/labeled-continue.js b/test/language/statements/block/labeled-continue.js new file mode 100644 index 0000000000..17da65b190 --- /dev/null +++ b/test/language/statements/block/labeled-continue.js @@ -0,0 +1,24 @@ +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-static-semantics-containsundefinedcontinuetarget +description: Clears label set in check for undefined `continue` target +info: | + With arguments iterationSet and labelSet. + + Statement : BlockStatement + + 1. Return ContainsUndefinedContinueTarget of |BlockStatement| with arguments + _iterationSet_ and « ». +negative: + phase: parse + type: SyntaxError +---*/ + +$DONOTEVALUATE(); + +label: { + for ( ;; ) { + continue label; + } +}