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

Unified Diff: test/mjsunit/harmony/async-await-species.js

Issue 2621173002: Remove --harmony-async-await runtime flag (Closed)
Patch Set: Update test ref Created 3 years, 11 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
« no previous file with comments | « test/mjsunit/harmony/async-await-resolve-new.js ('k') | test/mjsunit/harmony/async-destructuring.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/harmony/async-await-species.js
diff --git a/test/mjsunit/harmony/async-await-species.js b/test/mjsunit/harmony/async-await-species.js
deleted file mode 100644
index bc3db83fdfa1141ede427ba27cd2f0a421abe8cf..0000000000000000000000000000000000000000
--- a/test/mjsunit/harmony/async-await-species.js
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2016 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Flags: --harmony-async-await --allow-natives-syntax
-
-function assertEqualsAsync(expected, run, msg) {
- var actual;
- var hadValue = false;
- var hadError = false;
- var promise = run();
-
- if (typeof promise !== "object" || typeof promise.then !== "function") {
- throw new MjsUnitAssertionError(
- "Expected " + run.toString() +
- " to return a Promise, but it returned " + PrettyPrint(promise));
- }
-
- promise.then(function(value) { hadValue = true; actual = value; },
- function(error) { hadError = true; actual = error; });
-
- assertFalse(hadValue || hadError);
-
- %RunMicrotasks();
-
- if (hadError) throw actual;
-
- assertTrue(
- hadValue, "Expected '" + run.toString() + "' to produce a value");
-
- assertEquals(expected, actual, msg);
-};
-
-// Rename a function so that it can help omit things from stack trace.
-function test(fn) {
- return Object.defineProperty(fn, "name", {
- enumerable: false,
- configurable: true,
- value: "@" + fn.name,
- writable: false
- });
-}
-
-function getStack(error) {
- var stack = error.stack.split('\n').
- filter(function(line) {
- return /^\s*at @?[a-zA-Z0-9_]/.test(line);
- }).
- map(line => line.replace(/^\s*at (@?[a-zA-Z0-9_\.\[\]]+)(.*)/, "$1"));
-
- // remove `Promise.then()` invocation by assertEqualsAsync()
- if (stack[2] === "assertEqualsAsync") return [];
-
- return stack.reverse();
-}
-
-var log = [];
-class FakePromise extends Promise {
- constructor(executor) {
- var stack = getStack(new Error("Getting Callstack"));
- if (stack.length) {
- var first = -1;
- for (var i = 0; i < stack.length; ++i) {
- if (stack[i][0] === '@') {
- first = i;
- break;
- }
- }
- while (first > 0) stack.shift(), --first;
- if (stack.length) {
- log.push("@@Species: [" + stack.join(" > ") + "]");
- }
- }
- return new Promise(executor);
- }
-};
-
-Object.defineProperty(Promise, Symbol.species, {
- value: FakePromise,
- configurable: true,
- enumerable: false,
- writable: false
-});
-
-// Internal `AsyncFunctionAwait` only --- no @@species invocations.
-async function asyncFn() { return await "foo"; }
-assertEqualsAsync("foo", test(function testInternalOnly() { return asyncFn(); },
- "should not call Promise[@@Species]"));
-assertEquals([], log);
-
-log.length = 0;
-assertEqualsAsync(
- "foo",
- test(function testThenOnReturnedPromise() {
- return asyncFn().then(x => (log.push("Then: " + x), x));
- }),
- "should call Promise[@@Species] after non-internal Then");
-assertEquals([
- "@@Species: [@testThenOnReturnedPromise > Promise.then > FakePromise]",
- "Then: foo"
-], log);
« no previous file with comments | « test/mjsunit/harmony/async-await-resolve-new.js ('k') | test/mjsunit/harmony/async-destructuring.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698