| Index: test/codegen/expect/language/asyncstar_yield_test.js
|
| diff --git a/test/codegen/expect/language/asyncstar_yield_test.js b/test/codegen/expect/language/asyncstar_yield_test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..24598af7d599940c07a09696d3e2ceb557037e9e
|
| --- /dev/null
|
| +++ b/test/codegen/expect/language/asyncstar_yield_test.js
|
| @@ -0,0 +1,112 @@
|
| +dart_library.library('language/asyncstar_yield_test', null, /* Imports */[
|
| + 'dart_sdk',
|
| + 'expect',
|
| + 'async_helper'
|
| +], function load__asyncstar_yield_test(exports, dart_sdk, expect, async_helper) {
|
| + 'use strict';
|
| + const core = dart_sdk.core;
|
| + const async = dart_sdk.async;
|
| + const _interceptors = dart_sdk._interceptors;
|
| + const dart = dart_sdk.dart;
|
| + const dartx = dart_sdk.dartx;
|
| + const expect$ = expect.expect;
|
| + const async_helper$ = async_helper.async_helper;
|
| + const asyncstar_yield_test = Object.create(null);
|
| + let StreamOfint = () => (StreamOfint = dart.constFn(async.Stream$(core.int)))();
|
| + let CompleterOfbool = () => (CompleterOfbool = dart.constFn(async.Completer$(core.bool)))();
|
| + let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))();
|
| + let VoidToStreamOfint = () => (VoidToStreamOfint = dart.constFn(dart.definiteFunctionType(StreamOfint(), [])))();
|
| + let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
|
| + let dynamicToStreamOfint = () => (dynamicToStreamOfint = dart.constFn(dart.definiteFunctionType(StreamOfint(), [dart.dynamic])))();
|
| + let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
|
| + asyncstar_yield_test.foo1 = function() {
|
| + return dart.asyncStar(function*(stream) {
|
| + if (stream.add(1)) return;
|
| + yield;
|
| + let p = (yield async.Future.value(10));
|
| + if (stream.add(core.int._check(dart.dsend(p, '+', 10)))) return;
|
| + yield;
|
| + }, core.int);
|
| + };
|
| + dart.fn(asyncstar_yield_test.foo1, VoidToStreamOfint());
|
| + asyncstar_yield_test.foo2 = function() {
|
| + return dart.asyncStar(function*(stream) {
|
| + let i = 0;
|
| + while (true) {
|
| + yield async.Future.delayed(new core.Duration({milliseconds: 0}), dart.fn(() => {
|
| + }, VoidTodynamic()));
|
| + if (i > 10) return;
|
| + if (stream.add(i)) return;
|
| + yield;
|
| + i++;
|
| + }
|
| + }, core.int);
|
| + };
|
| + dart.fn(asyncstar_yield_test.foo2, VoidToStreamOfint());
|
| + asyncstar_yield_test.foo3 = function(p) {
|
| + return dart.asyncStar(function*(stream, p) {
|
| + let i = 0;
|
| + let t = false;
|
| + if (stream.add(null)) return;
|
| + yield;
|
| + while (true) {
|
| + i++;
|
| + a:
|
| + for (let i = 0; i < dart.notNull(core.num._check(p)); i++) {
|
| + if (!t) {
|
| + for (let j = 0; j < 3; j++) {
|
| + if (stream.add(-1)) return;
|
| + yield;
|
| + t = true;
|
| + break a;
|
| + }
|
| + }
|
| + yield 4;
|
| + if (stream.add(i)) return;
|
| + yield;
|
| + }
|
| + }
|
| + }, core.int, p);
|
| + };
|
| + dart.fn(asyncstar_yield_test.foo3, dynamicToStreamOfint());
|
| + dart.defineLazy(asyncstar_yield_test, {
|
| + get finalized() {
|
| + return CompleterOfbool().new();
|
| + },
|
| + set finalized(_) {}
|
| + });
|
| + asyncstar_yield_test.foo4 = function() {
|
| + return dart.asyncStar(function*(stream) {
|
| + let i = 0;
|
| + try {
|
| + while (true) {
|
| + if (stream.add(i)) return;
|
| + yield;
|
| + i++;
|
| + }
|
| + } finally {
|
| + asyncstar_yield_test.finalized.complete(true);
|
| + }
|
| + }, core.int);
|
| + };
|
| + dart.fn(asyncstar_yield_test.foo4, VoidToStreamOfint());
|
| + asyncstar_yield_test.test = function() {
|
| + return dart.async(function*() {
|
| + expect$.Expect.listEquals(JSArrayOfint().of([1, 20]), yield asyncstar_yield_test.foo1().toList());
|
| + expect$.Expect.listEquals(JSArrayOfint().of([0, 1, 2, 3]), yield asyncstar_yield_test.foo2().take(4).toList());
|
| + expect$.Expect.listEquals(JSArrayOfint().of([null, -1, 0, 1, 2, 3, 0, 1, 2, 3]), yield asyncstar_yield_test.foo3(4).take(10).toList());
|
| + expect$.Expect.listEquals(JSArrayOfint().of([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), yield asyncstar_yield_test.foo4().take(10).toList());
|
| + expect$.Expect.isTrue(yield asyncstar_yield_test.finalized.future);
|
| + }, dart.dynamic);
|
| + };
|
| + dart.fn(asyncstar_yield_test.test, VoidTodynamic());
|
| + asyncstar_yield_test.main = function() {
|
| + async_helper$.asyncStart();
|
| + dart.dsend(asyncstar_yield_test.test(), 'then', dart.fn(_ => {
|
| + async_helper$.asyncEnd();
|
| + }, dynamicTodynamic()));
|
| + };
|
| + dart.fn(asyncstar_yield_test.main, VoidTodynamic());
|
| + // Exports:
|
| + exports.asyncstar_yield_test = asyncstar_yield_test;
|
| +});
|
|
|