mirror of https://github.com/tc39/test262.git
28 lines
959 B
JavaScript
28 lines
959 B
JavaScript
// Copyright (C) 2019 Leo Balter. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: pending
|
|
description: >
|
|
Hashbang comments should not be allowed in function evaluator contexts.
|
|
info: |
|
|
HashbangComment::
|
|
#! SingleLineCommentChars[opt]
|
|
features: [hashbang]
|
|
---*/
|
|
|
|
const AsyncFunction = (async function (){}).constructor;
|
|
const GeneratorFunction = (function *(){}).constructor;
|
|
const AsyncGeneratorFunction = (async function *(){}).constructor;
|
|
for (const ctor of [
|
|
Function,
|
|
AsyncFunction,
|
|
GeneratorFunction,
|
|
AsyncGeneratorFunction,
|
|
]) {
|
|
assert.throws(SyntaxError, () => ctor('#!\n_', ''), `${ctor.name} Call argument`);
|
|
assert.throws(SyntaxError, () => ctor('#!\n_'), `${ctor.name} Call body`);
|
|
assert.throws(SyntaxError, () => new ctor('#!\n_', ''), `${ctor.name} Construct argument`);
|
|
assert.throws(SyntaxError, () => new ctor('#!\n_'), `${ctor.name} Construct body`);
|
|
}
|