diff options
Diffstat (limited to 'js/src/tests/test262/language/statements/let/syntax/let-newline-yield-in-generator-function.js')
-rw-r--r-- | js/src/tests/test262/language/statements/let/syntax/let-newline-yield-in-generator-function.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/let/syntax/let-newline-yield-in-generator-function.js b/js/src/tests/test262/language/statements/let/syntax/let-newline-yield-in-generator-function.js new file mode 100644 index 0000000000..86a3c429bf --- /dev/null +++ b/js/src/tests/test262/language/statements/let/syntax/let-newline-yield-in-generator-function.js @@ -0,0 +1,26 @@ +// |reftest| error:SyntaxError +// Copyright (C) 2017 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +author: Jeff Walden <jwalden+code@mit.edu> +esid: sec-let-and-const-declarations +description: > + `let yield` does not permit ASI in between, as `yield` is a BindingIdentifier +info: | + `yield` is a perfectly cromulent binding name in any context grammatically, just + prohibited by static semantics in some contexts. Therefore ASI can never apply + between `let` (where a LexicalDeclaration is permitted) and `yield`, + so a subsequent `0` where `=` was expected is a syntax error. +negative: + phase: parse + type: SyntaxError +features: [generators] +---*/ + +$DONOTEVALUATE(); + +function* f() { + let + yield 0; +} |