diff options
Diffstat (limited to 'js/src/tests/test262/language/statements/if/labelled-fn-stmt-first.js')
-rw-r--r-- | js/src/tests/test262/language/statements/if/labelled-fn-stmt-first.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/if/labelled-fn-stmt-first.js b/js/src/tests/test262/language/statements/if/labelled-fn-stmt-first.js new file mode 100644 index 0000000000..5dc561e7d2 --- /dev/null +++ b/js/src/tests/test262/language/statements/if/labelled-fn-stmt-first.js @@ -0,0 +1,30 @@ +// |reftest| error:SyntaxError +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-if-statement-static-semantics-early-errors +es6id: 13.6.1 +description: > + A labelled function declaration is never permitted in the first of two + Statement positions +info: | + IfStatement : + + if ( Expression ) Statement else Statement + if ( Expression ) Statement + + - It is a Syntax Error if IsLabelledFunction(Statement) is true. + + NOTE It is only necessary to apply this rule if the extension specified in + B.3.2 is implemented. + + In the absence of Annex B.3.2, a SyntaxError should be produced due to the + labelled function declaration itself. +negative: + phase: parse + type: SyntaxError +---*/ + +$DONOTEVALUATE(); + +if (false) label1: label2: function test262() {} else ; |