mirror of https://github.com/tc39/test262.git
Add tests for async generator function expressions
This commit is contained in:
parent
82c2ca0709
commit
6391689a6b
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and
|
||||||
|
IsSimpleParameterList of UniqueFormalParameters is false.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(x = 1) {"use strict"});
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a SyntaxError if FormalParameters contains arguments in strict mode.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
flags: [onlyStrict]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(arguments) { });
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 12.1.1
|
||||||
|
description: >
|
||||||
|
`await` is not a valid BindingIdentifier for AsyncGeneratorExpressions.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function* await() { });
|
|
@ -0,0 +1,16 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
If the source code matching this production is strict code, it is a
|
||||||
|
Syntax Error if BindingIdentifier is the IdentifierName arguments.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
flags: [onlyStrict]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function* arguments() { });
|
|
@ -0,0 +1,16 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
If the source code matching this production is strict code, it is a
|
||||||
|
Syntax Error if BindingIdentifier is the IdentifierName eval.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
flags: [onlyStrict]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function* eval() { });
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a syntax error if AsyncGeneratorBody contains SuperCall is true.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*() { super(); });
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a syntax error if AsyncGeneratorBody contains SuperProperty is true.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*() { super.prop; });
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a SyntaxError if FormalParameters contains eval in strict mode.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
flags: [onlyStrict]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(eval) { });
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a SyntaxError if BoundNames of FormalParameters also occurs in the
|
||||||
|
LexicallyDeclaredNames of AsyncFunctionBody
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(a) { const a = 0; });
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a SyntaxError if BoundNames of FormalParameters also occurs in the
|
||||||
|
LexicallyDeclaredNames of AsyncFunctionBody
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(a) { let a; });
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a Syntax Error if FormalParameters Contains AwaitExpression is true.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(x = await 1) { });
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 12.1
|
||||||
|
description: >
|
||||||
|
`await` is a reserved keyword within async generator function bodies and may
|
||||||
|
not be used as the binding identifier of a parameter.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(await) { });
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a syntax error if FormalParameters contains SuperCall is true.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(a = super()) { });
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a syntax error if FormalParameters contains SuperProperty is true.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(a = super.prop) { });
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
It is a Syntax Error if FormalParameters Contains YieldExpression is true.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(x = yield) { });
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 12.1
|
||||||
|
description: >
|
||||||
|
`await` is a reserved keyword within async generator function bodies and may
|
||||||
|
not be used as the binding identifier of a parameter.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*(yield) { });
|
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 12.1.1
|
||||||
|
description: >
|
||||||
|
`await` is a reserved keyword within async generator function bodies and may
|
||||||
|
not be used as a label.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*() {
|
||||||
|
await: 1;
|
||||||
|
});
|
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 12.1.1
|
||||||
|
description: >
|
||||||
|
`yield` is a reserved keyword within async generator function bodies and may
|
||||||
|
not be used as a label.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*() {
|
||||||
|
yield: 1;
|
||||||
|
});
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: pending
|
||||||
|
description: >
|
||||||
|
Async generator function expressions are not a simple assignment target.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: ReferenceError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*() { } = 1);
|
|
@ -0,0 +1,14 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 12.1.1
|
||||||
|
description: >
|
||||||
|
`yield` is not a valid BindingIdentifier for AsyncGeneratorExpressions.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function* yield() { });
|
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 14.4
|
||||||
|
description: >
|
||||||
|
A newline may not precede the `*` token in a `yield` expression.
|
||||||
|
negative:
|
||||||
|
phase: early
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
(async function*() {
|
||||||
|
yield
|
||||||
|
* 1;
|
||||||
|
});
|
|
@ -0,0 +1,24 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 14.4
|
||||||
|
description: >
|
||||||
|
AwaitExpressions are valid operands to yield expressions.
|
||||||
|
flags: [async]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var iter = (async function*() {
|
||||||
|
yield await "a";
|
||||||
|
})();
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, "a", 'First result `value`');
|
||||||
|
assert.sameValue(result.done, false, 'First result `done` flag');
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, undefined, 'Second result `value`');
|
||||||
|
assert.sameValue(result.done, true, 'Second result `done` flag');
|
||||||
|
}).then($DONE, $DONE);
|
|
@ -0,0 +1,26 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 14.4
|
||||||
|
description: >
|
||||||
|
AwaitExpressions are valid operands to yield expressions.
|
||||||
|
flags: [async]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var iter = (async function*() {
|
||||||
|
yield await new Promise(function(resolve) {
|
||||||
|
resolve("a");
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, "a", 'First result `value`');
|
||||||
|
assert.sameValue(result.done, false, 'First result `done` flag');
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, undefined, 'Second result `value`');
|
||||||
|
assert.sameValue(result.done, true, 'Second result `done` flag');
|
||||||
|
}).then($DONE, $DONE);
|
|
@ -0,0 +1,30 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 14.4
|
||||||
|
description: >
|
||||||
|
AwaitExpressions are valid operands to yield expressions.
|
||||||
|
flags: [async]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var thenable = {
|
||||||
|
then: function(resolve, reject) {
|
||||||
|
resolve("a");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var iter = (async function*() {
|
||||||
|
yield await thenable;
|
||||||
|
})();
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, "a", 'First result `value`');
|
||||||
|
assert.sameValue(result.done, false, 'First result `done` flag');
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, undefined, 'Second result `value`');
|
||||||
|
assert.sameValue(result.done, true, 'Second result `done` flag');
|
||||||
|
}).then($DONE, $DONE);
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 14.4
|
||||||
|
description: >
|
||||||
|
`yield` expressions may be used as the right-hand-side of other `yield`
|
||||||
|
expressions.
|
||||||
|
flags: [async]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var g = async function*() {
|
||||||
|
yield yield 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
var iter = g();
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, 1, 'First result `value`');
|
||||||
|
assert.sameValue(result.done, false, 'First result `done` flag');
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, undefined, 'Second result `value`');
|
||||||
|
assert.sameValue(result.done, false, 'Second result `done` flag');
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, undefined, 'Third result `value`');
|
||||||
|
assert.sameValue(result.done, true, 'Thid result `done` flag');
|
||||||
|
}).then($DONE, $DONE);
|
|
@ -0,0 +1,41 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 14.4
|
||||||
|
description: >
|
||||||
|
`yield` is a valid statement within async generator function bodies.
|
||||||
|
flags: [async]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var g1 = async function*() { yield; };
|
||||||
|
var g2 = async function*() { yield 1; };
|
||||||
|
|
||||||
|
var iter1 = g1();
|
||||||
|
iter1.next().then(function(result) {
|
||||||
|
assert.sameValue(
|
||||||
|
result.value, undefined, "Without right-hand-side: first result `value`");
|
||||||
|
assert.sameValue(
|
||||||
|
result.done, false, "Without right-hand-side: first result `done` flag");
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
iter1.next(function(result) {
|
||||||
|
assert.sameValue(
|
||||||
|
result.value, undefined, "Without right-hand-side: second result `value`");
|
||||||
|
assert.sameValue(
|
||||||
|
result.done, true, "Without right-hand-side: second result `done` flag");
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
|
||||||
|
var iter2 = g2();
|
||||||
|
iter2.next().then(function(result) {
|
||||||
|
assert.sameValue(
|
||||||
|
result.value, 1, "With right-hand-side: first result `value`");
|
||||||
|
assert.sameValue(
|
||||||
|
result.done, false, "With right-hand-side: first result `done` flag");
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
iter2.next(function(result) {
|
||||||
|
assert.sameValue(
|
||||||
|
result.value, undefined, "With right-hand-side: second result `value`");
|
||||||
|
assert.sameValue(
|
||||||
|
result.done, true, "With right-hand-side: second result `done` flag");
|
||||||
|
}).then($DONE, $DONE);
|
|
@ -0,0 +1,26 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 14.4
|
||||||
|
description: >
|
||||||
|
Newlines terminate `yield` expressions.
|
||||||
|
flags: [async]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var g = async function*() {
|
||||||
|
yield
|
||||||
|
1;
|
||||||
|
};
|
||||||
|
|
||||||
|
var iter = g();
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, undefined, 'First result `value`');
|
||||||
|
assert.sameValue(result.done, false, 'First result `done` flag');
|
||||||
|
}).then(undefined, $DONE);
|
||||||
|
|
||||||
|
iter.next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, undefined, 'Second result `value`');
|
||||||
|
assert.sameValue(result.done, true, 'Second result `done` flag');
|
||||||
|
}).then($DONE, $DONE);
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright 2017 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
author: Caitlin Potter <caitp@igalia.com>
|
||||||
|
esid: 14.4
|
||||||
|
description: >
|
||||||
|
The right-hand side of a `yield *` expression may appear on a new line.
|
||||||
|
flags: [async]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var g = async function*() {};
|
||||||
|
|
||||||
|
(async function*() {
|
||||||
|
yield*
|
||||||
|
g();
|
||||||
|
})().next().then(function(result) {
|
||||||
|
assert.sameValue(result.value, undefined);
|
||||||
|
assert.sameValue(result.done, true);
|
||||||
|
}).then($DONE, $DONE);
|
Loading…
Reference in New Issue