Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Unified Diff: test/codegen/expect/language/await_future_test.js

Issue 2128353002: Check in codegen test expectations. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/codegen/expect/language/await_future_test.js
diff --git a/test/codegen/expect/language/await_future_test.js b/test/codegen/expect/language/await_future_test.js
new file mode 100644
index 0000000000000000000000000000000000000000..c00a4cd800592f8f755d3bc629cac511eb390c71
--- /dev/null
+++ b/test/codegen/expect/language/await_future_test.js
@@ -0,0 +1,311 @@
+dart_library.library('language/await_future_test', null, /* Imports */[
+ 'dart_sdk',
+ 'expect',
+ 'async_helper'
+], function load__await_future_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 await_future_test = Object.create(null);
+ let FutureOfint = () => (FutureOfint = dart.constFn(async.Future$(core.int)))();
+ let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))();
+ let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
+ let VoidToFuture = () => (VoidToFuture = dart.constFn(dart.definiteFunctionType(async.Future, [])))();
+ let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])))();
+ let VoidToFutureOfint = () => (VoidToFutureOfint = dart.constFn(dart.definiteFunctionType(FutureOfint(), [])))();
+ let intAndintTodynamic = () => (intAndintTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.int, core.int])))();
+ let dynamicToFuture = () => (dynamicToFuture = dart.constFn(dart.definiteFunctionType(async.Future, [dart.dynamic])))();
+ await_future_test.bar = function(p) {
+ return dart.async(function*(p) {
+ return p;
+ }, dart.dynamic, p);
+ };
+ dart.fn(await_future_test.bar, dynamicTodynamic());
+ await_future_test.baz = function(p) {
+ return async.Future.new(dart.fn(() => p, VoidTodynamic()));
+ };
+ dart.fn(await_future_test.baz, dynamicTodynamic());
+ await_future_test.foo = function() {
+ return dart.async(function*() {
+ let b = 0;
+ for (let i = 0; i < 10; i++) {
+ b = dart.notNull(b) + dart.notNull(core.int._check(dart.dsend(yield await_future_test.bar(1), '+', yield await_future_test.baz(2))));
+ }
+ return b;
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.foo, VoidTodynamic());
+ await_future_test.faa = function() {
+ return dart.async(function*() {
+ return dart.dload(yield await_future_test.bar('faa'), 'length');
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.faa, VoidTodynamic());
+ await_future_test.quaz = function(p) {
+ return dart.async(function*(p) {
+ let x = 0;
+ try {
+ for (let j = 0; j < 10; j++) {
+ x = dart.notNull(x) + dart.notNull(core.int._check(yield await_future_test.baz(j)));
+ }
+ return x;
+ } finally {
+ expect$.Expect.equals(x, 45);
+ return p;
+ }
+ }, dart.dynamic, p);
+ };
+ dart.fn(await_future_test.quaz, dynamicTodynamic());
+ await_future_test.quazz = function() {
+ return dart.async(function*() {
+ let x = 0;
+ try {
+ try {
+ x = core.int._check(yield await_future_test.bar(1));
+ dart.throw(x);
+ } catch (e1) {
+ let y = (yield await_future_test.baz(dart.dsend(e1, '+', 1)));
+ dart.throw(y);
+ }
+
+ } catch (e2) {
+ return e2;
+ }
+
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.quazz, VoidTodynamic());
+ await_future_test.nesting = function() {
+ return dart.async(function*() {
+ try {
+ try {
+ let x = 1;
+ let y = dart.fn(() => dart.async(function*() {
+ try {
+ let z = dart.dsend(yield await_future_test.bar(3), '+', x);
+ dart.throw(z);
+ } catch (e1) {
+ return e1;
+ }
+
+ }, dart.dynamic), VoidToFuture());
+ let a = (yield y());
+ dart.throw(a);
+ } catch (e2) {
+ dart.throw(dart.dsend(e2, '+', 1));
+ }
+
+ } catch (e3) {
+ return e3;
+ }
+
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.nesting, VoidTodynamic());
+ await_future_test.awaitAsUnary = function(a, b) {
+ return dart.async(function*(a, b) {
+ return dart.dsend(yield a, '+', yield b);
+ }, dart.dynamic, a, b);
+ };
+ dart.fn(await_future_test.awaitAsUnary, dynamicAnddynamicTodynamic());
+ await_future_test.awaitIf = function(p) {
+ return dart.async(function*(p) {
+ if (dart.test(dart.dsend(p, '<', yield await_future_test.bar(5)))) {
+ return "p<5";
+ } else {
+ return "p>=5";
+ }
+ }, dart.dynamic, p);
+ };
+ dart.fn(await_future_test.awaitIf, dynamicTodynamic());
+ await_future_test.awaitNestedIf = function(p, q) {
+ return dart.async(function*(p, q) {
+ if (dart.equals(p, yield await_future_test.bar(5))) {
+ if (dart.test(dart.dsend(q, '<', yield await_future_test.bar(7)))) {
+ return "q<7";
+ } else {
+ return "q>=7";
+ }
+ } else {
+ return "p!=5";
+ }
+ return "!";
+ }, dart.dynamic, p, q);
+ };
+ dart.fn(await_future_test.awaitNestedIf, dynamicAnddynamicTodynamic());
+ await_future_test.awaitElseIf = function(p) {
+ return dart.async(function*(p) {
+ if (dart.test(dart.dsend(p, '>', yield await_future_test.bar(5)))) {
+ return "p>5";
+ } else if (dart.test(dart.dsend(p, '<', yield await_future_test.bar(5)))) {
+ return "p<5";
+ } else {
+ return "p==5";
+ }
+ return "!";
+ }, dart.dynamic, p);
+ };
+ dart.fn(await_future_test.awaitElseIf, dynamicTodynamic());
+ await_future_test.awaitReturn = function() {
+ return dart.async(function*() {
+ return yield await_future_test.bar(17);
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.awaitReturn, VoidTodynamic());
+ await_future_test.awaitSwitch = function() {
+ return dart.async(function*() {
+ switch (yield await_future_test.bar(3)) {
+ case 1:
+ {
+ return 1;
+ break;
+ }
+ case 3:
+ {
+ return 3;
+ break;
+ }
+ default:
+ {
+ return -1;
+ }
+ }
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.awaitSwitch, VoidTodynamic());
+ await_future_test.awaitNestedWhile = function(i, j) {
+ return dart.async(function*(i, j) {
+ let savedJ = j;
+ let decI = dart.fn(() => dart.async(function*() {
+ let x = i;
+ i = dart.notNull(x) - 1;
+ return x;
+ }, core.int), VoidToFutureOfint());
+ let decJ = dart.fn(() => dart.async(function*() {
+ let x = j;
+ j = dart.notNull(x) - 1;
+ return x;
+ }, core.int), VoidToFutureOfint());
+ let k = 0;
+ while (dart.notNull(yield decI()) > 0) {
+ j = savedJ;
+ while (0 < dart.notNull(yield decJ())) {
+ k++;
+ }
+ }
+ return k;
+ }, dart.dynamic, i, j);
+ };
+ dart.fn(await_future_test.awaitNestedWhile, intAndintTodynamic());
+ await_future_test.awaitNestedDoWhile = function(i, j) {
+ return dart.async(function*(i, j) {
+ let savedJ = j;
+ let decI = dart.fn(() => dart.async(function*() {
+ let x = i;
+ i = dart.notNull(x) - 1;
+ return x;
+ }, core.int), VoidToFutureOfint());
+ let decJ = dart.fn(() => dart.async(function*() {
+ let x = j;
+ j = dart.notNull(x) - 1;
+ return x;
+ }, core.int), VoidToFutureOfint());
+ let k = 0;
+ do {
+ do {
+ k++;
+ } while (0 < dart.notNull(yield decI()));
+ } while (dart.notNull(yield decJ()) > 0);
+ return k;
+ }, dart.dynamic, i, j);
+ };
+ dart.fn(await_future_test.awaitNestedDoWhile, intAndintTodynamic());
+ await_future_test.awaitFor = function() {
+ return dart.async(function*() {
+ let asyncInc = dart.fn(p => dart.async(function*(p) {
+ return dart.dsend(p, '+', 1);
+ }, dart.dynamic, p), dynamicToFuture());
+ let k = 0;
+ for (let j = core.int._check(yield await_future_test.bar(0)), i = core.int._check(yield await_future_test.bar(1)); dart.notNull(j) < dart.notNull(core.num._check(yield await_future_test.bar(5))); j = core.int._check(yield dart.dcall(asyncInc, j)), i = core.int._check(yield dart.dcall(asyncInc, i))) {
+ k = dart.notNull(k) + dart.notNull(i);
+ k = dart.notNull(k) + dart.notNull(j);
+ }
+ return k;
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.awaitFor, VoidTodynamic());
+ await_future_test.awaitForIn = function() {
+ return dart.async(function*() {
+ let list = JSArrayOfString().of(['a', 'b', 'c']);
+ let k = '';
+ for (let c of core.Iterable._check(yield await_future_test.bar(list))) {
+ k = dart.notNull(k) + dart.notNull(core.String._check(c));
+ }
+ return k;
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.awaitForIn, VoidTodynamic());
+ await_future_test.test = function() {
+ return dart.async(function*() {
+ let result = null;
+ for (let i = 0; i < 10; i++) {
+ result = (yield await_future_test.foo());
+ expect$.Expect.equals(30, result);
+ result = (yield await_future_test.faa());
+ expect$.Expect.equals(3, result);
+ result = (yield await_future_test.quaz(17));
+ expect$.Expect.equals(17, result);
+ result = (yield await_future_test.quazz());
+ expect$.Expect.equals(2, result);
+ result = (yield await_future_test.nesting());
+ expect$.Expect.equals(5, result);
+ result = (yield await_future_test.awaitIf(3));
+ expect$.Expect.equals("p<5", result);
+ result = (yield await_future_test.awaitIf(5));
+ expect$.Expect.equals("p>=5", result);
+ result = (yield await_future_test.awaitNestedIf(5, 3));
+ expect$.Expect.equals("q<7", result);
+ result = (yield await_future_test.awaitNestedIf(5, 8));
+ expect$.Expect.equals("q>=7", result);
+ result = (yield await_future_test.awaitNestedIf(3, 8));
+ expect$.Expect.equals("p!=5", result);
+ result = (yield await_future_test.awaitReturn());
+ expect$.Expect.equals(17, result);
+ result = (yield await_future_test.awaitSwitch());
+ expect$.Expect.equals(3, result);
+ result = (yield await_future_test.awaitElseIf(6));
+ expect$.Expect.equals("p>5", result);
+ result = (yield await_future_test.awaitElseIf(4));
+ expect$.Expect.equals("p<5", result);
+ result = (yield await_future_test.awaitElseIf(5));
+ expect$.Expect.equals("p==5", result);
+ result = (yield await_future_test.awaitNestedWhile(5, 3));
+ expect$.Expect.equals(15, result);
+ result = (yield await_future_test.awaitNestedWhile(4, 6));
+ expect$.Expect.equals(24, result);
+ result = (yield await_future_test.awaitAsUnary(await_future_test.bar(1), await_future_test.bar(2)));
+ expect$.Expect.equals(3, result);
+ result = (yield await_future_test.awaitFor());
+ expect$.Expect.equals(25, result);
+ result = (yield await_future_test.awaitForIn());
+ expect$.Expect.equals('abc', result);
+ }
+ }, dart.dynamic);
+ };
+ dart.fn(await_future_test.test, VoidTodynamic());
+ await_future_test.main = function() {
+ async_helper$.asyncStart();
+ dart.dsend(await_future_test.test(), 'then', dart.fn(_ => {
+ async_helper$.asyncEnd();
+ }, dynamicTodynamic()));
+ };
+ dart.fn(await_future_test.main, VoidTodynamic());
+ // Exports:
+ exports.await_future_test = await_future_test;
+});
« no previous file with comments | « test/codegen/expect/language/await_for_use_local_test.js ('k') | test/codegen/expect/language/await_nonfuture_test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698