| Index: test/codegen/expect/async_helper.js
|
| diff --git a/test/codegen/expect/async_helper.js b/test/codegen/expect/async_helper.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cb018a89fa0d76fc03d647207ce8c059b0d80458
|
| --- /dev/null
|
| +++ b/test/codegen/expect/async_helper.js
|
| @@ -0,0 +1,76 @@
|
| +dart_library.library('async_helper', null, /* Imports */[
|
| + 'dart_sdk'
|
| +], function load__async_helper(exports, dart_sdk) {
|
| + 'use strict';
|
| + const core = dart_sdk.core;
|
| + const dart = dart_sdk.dart;
|
| + const dartx = dart_sdk.dartx;
|
| + const async_helper = Object.create(null);
|
| + let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.functionType(dart.dynamic, [])))();
|
| + let StringToException = () => (StringToException = dart.constFn(dart.definiteFunctionType(core.Exception, [core.String])))();
|
| + let _Action0Tovoid = () => (_Action0Tovoid = dart.constFn(dart.definiteFunctionType(dart.void, [async_helper._Action0])))();
|
| + let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))();
|
| + let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic])))();
|
| + let FnTovoid = () => (FnTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [VoidTodynamic()])))();
|
| + async_helper._initialized = false;
|
| + async_helper._Action0 = dart.typedef('_Action0', () => dart.functionType(dart.void, []));
|
| + async_helper._onAsyncEnd = null;
|
| + async_helper._asyncLevel = 0;
|
| + async_helper._buildException = function(msg) {
|
| + return core.Exception.new(dart.str`Fatal: ${msg}. This is most likely a bug in your test.`);
|
| + };
|
| + dart.fn(async_helper._buildException, StringToException());
|
| + async_helper.asyncTestInitialize = function(callback) {
|
| + async_helper._asyncLevel = 0;
|
| + async_helper._initialized = false;
|
| + async_helper._onAsyncEnd = callback;
|
| + };
|
| + dart.fn(async_helper.asyncTestInitialize, _Action0Tovoid());
|
| + dart.copyProperties(async_helper, {
|
| + get asyncTestStarted() {
|
| + return async_helper._initialized;
|
| + }
|
| + });
|
| + async_helper.asyncStart = function() {
|
| + if (dart.test(async_helper._initialized) && async_helper._asyncLevel == 0) {
|
| + dart.throw(async_helper._buildException('asyncStart() was called even though we are done ' + 'with testing.'));
|
| + }
|
| + if (!dart.test(async_helper._initialized)) {
|
| + if (async_helper._onAsyncEnd == null) {
|
| + dart.throw(async_helper._buildException('asyncStart() was called before asyncTestInitialize()'));
|
| + }
|
| + core.print('unittest-suite-wait-for-done');
|
| + async_helper._initialized = true;
|
| + }
|
| + async_helper._asyncLevel = dart.notNull(async_helper._asyncLevel) + 1;
|
| + };
|
| + dart.fn(async_helper.asyncStart, VoidTovoid());
|
| + async_helper.asyncEnd = function() {
|
| + if (dart.notNull(async_helper._asyncLevel) <= 0) {
|
| + if (!dart.test(async_helper._initialized)) {
|
| + dart.throw(async_helper._buildException('asyncEnd() was called before asyncStart().'));
|
| + } else {
|
| + dart.throw(async_helper._buildException('asyncEnd() was called more often than ' + 'asyncStart().'));
|
| + }
|
| + }
|
| + async_helper._asyncLevel = dart.notNull(async_helper._asyncLevel) - 1;
|
| + if (async_helper._asyncLevel == 0) {
|
| + let callback = async_helper._onAsyncEnd;
|
| + async_helper._onAsyncEnd = null;
|
| + callback();
|
| + core.print('unittest-suite-success');
|
| + }
|
| + };
|
| + dart.fn(async_helper.asyncEnd, VoidTovoid());
|
| + async_helper.asyncSuccess = function(_) {
|
| + return async_helper.asyncEnd();
|
| + };
|
| + dart.fn(async_helper.asyncSuccess, dynamicTovoid());
|
| + async_helper.asyncTest = function(f) {
|
| + async_helper.asyncStart();
|
| + dart.dsend(f(), 'then', async_helper.asyncSuccess);
|
| + };
|
| + dart.fn(async_helper.asyncTest, FnTovoid());
|
| + // Exports:
|
| + exports.async_helper = async_helper;
|
| +});
|
|
|