mirror of https://github.com/tc39/test262.git
More cases
This commit is contained in:
parent
56a2dba975
commit
00ef6331a6
|
@ -0,0 +1,46 @@
|
|||
// Copyright (C) 2019 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
description: >
|
||||
Evaluation of a rejected promise
|
||||
info: |
|
||||
ModuleItem:
|
||||
StatementListItem[~Yield, +Await, ~Return]
|
||||
|
||||
...
|
||||
|
||||
UnaryExpression[Yield, Await]
|
||||
[+Await]AwaitExpression[?Yield]
|
||||
|
||||
AwaitExpression[Yield]:
|
||||
await UnaryExpression[?Yield, +Await]
|
||||
|
||||
...
|
||||
|
||||
LeftHandSideExpression[Yield, Await]:
|
||||
NewExpression[?Yield, ?Await]
|
||||
CallExpression[?Yield, ?Await]
|
||||
|
||||
NewExpression[Yield, Await]:
|
||||
MemberExpression[?Yield, ?Await]
|
||||
new NewExpression[?Yield, ?Await]
|
||||
|
||||
MemberExpression[Yield, Await]:
|
||||
...
|
||||
new MemberExpression[?Yield, ?Await] Arguments[?Yield, ?Await]
|
||||
esid: prod-AwaitExpression
|
||||
flags: [module, async]
|
||||
features: [top-level-await]
|
||||
---*/
|
||||
|
||||
var obj = new Test262Error();
|
||||
|
||||
try {
|
||||
await Promise.reject(obj);
|
||||
} catch (e) {
|
||||
assert.sameValue(e, obj);
|
||||
$DONE();
|
||||
}
|
||||
|
||||
// Can't use assert.throws here as it relies in a nested function.
|
|
@ -0,0 +1,43 @@
|
|||
// Copyright (C) 2019 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
description: >
|
||||
Evaluation of await before a NewExpression
|
||||
info: |
|
||||
ModuleItem:
|
||||
StatementListItem[~Yield, +Await, ~Return]
|
||||
|
||||
...
|
||||
|
||||
UnaryExpression[Yield, Await]
|
||||
[+Await]AwaitExpression[?Yield]
|
||||
|
||||
AwaitExpression[Yield]:
|
||||
await UnaryExpression[?Yield, +Await]
|
||||
|
||||
...
|
||||
|
||||
LeftHandSideExpression[Yield, Await]:
|
||||
NewExpression[?Yield, ?Await]
|
||||
CallExpression[?Yield, ?Await]
|
||||
|
||||
NewExpression[Yield, Await]:
|
||||
MemberExpression[?Yield, ?Await]
|
||||
new NewExpression[?Yield, ?Await]
|
||||
|
||||
MemberExpression[Yield, Await]:
|
||||
...
|
||||
new MemberExpression[?Yield, ?Await] Arguments[?Yield, ?Await]
|
||||
esid: prod-AwaitExpression
|
||||
flags: [module, async]
|
||||
features: [top-level-await]
|
||||
---*/
|
||||
|
||||
var value = await new Promise(function(res, rej) {
|
||||
res(42);
|
||||
});
|
||||
|
||||
assert.sameValue(value, 42);
|
||||
|
||||
$DONE();
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright (C) 2019 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
description: >
|
||||
Valid syntax for top level await.
|
||||
AwaitExpression ArrayLiteral
|
||||
info: |
|
||||
ModuleItem:
|
||||
StatementListItem[~Yield, +Await, ~Return]
|
||||
|
||||
...
|
||||
|
||||
UnaryExpression[Yield, Await]
|
||||
[+Await]AwaitExpression[?Yield]
|
||||
|
||||
AwaitExpression[Yield]:
|
||||
await UnaryExpression[?Yield, +Await]
|
||||
|
||||
...
|
||||
|
||||
LeftHandSideExpression[Yield, Await]:
|
||||
NewExpression[?Yield, ?Await]
|
||||
CallExpression[?Yield, ?Await]
|
||||
|
||||
NewExpression[Yield, Await]:
|
||||
MemberExpression[?Yield, ?Await]
|
||||
new NewExpression[?Yield, ?Await]
|
||||
|
||||
MemberExpression[Yield, Await]:
|
||||
...
|
||||
new MemberExpression[?Yield, ?Await] Arguments[?Yield, ?Await]
|
||||
esid: prod-AwaitExpression
|
||||
flags: [module]
|
||||
features: [top-level-await]
|
||||
---*/
|
||||
|
||||
await new Promise(function(res, rej) { res(1); });
|
Loading…
Reference in New Issue