diff options
Diffstat (limited to 'deps/v8/test/inspector/runtime/evaluate-async.js')
-rw-r--r-- | deps/v8/test/inspector/runtime/evaluate-async.js | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/deps/v8/test/inspector/runtime/evaluate-async.js b/deps/v8/test/inspector/runtime/evaluate-async.js new file mode 100644 index 0000000000..ed4b6e30e2 --- /dev/null +++ b/deps/v8/test/inspector/runtime/evaluate-async.js @@ -0,0 +1,58 @@ +// 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. + +print("Tests that Runtime.evaluate works with awaitPromise flag."); + +InspectorTest.addScript(` +function createPromiseAndScheduleResolve() +{ + var resolveCallback; + var promise = new Promise((resolve) => resolveCallback = resolve); + setTimeout(resolveCallback.bind(null, { a : 239 }), 0); + return promise; +}`); + +InspectorTest.runTestSuite([ + function testResolvedPromise(next) + { + Protocol.Runtime.evaluate({ expression: "Promise.resolve(239)", awaitPromise: true, generatePreview: true }) + .then(result => InspectorTest.logMessage(result)) + .then(() => next()); + }, + + function testRejectedPromise(next) + { + Protocol.Runtime.evaluate({ expression: "Promise.reject(239)", awaitPromise: true }) + .then(result => InspectorTest.logMessage(result)) + .then(() => next()); + }, + + function testPrimitiveValueInsteadOfPromise(next) + { + Protocol.Runtime.evaluate({ expression: "true", awaitPromise: true }) + .then(result => InspectorTest.logMessage(result)) + .then(() => next()); + }, + + function testObjectInsteadOfPromise(next) + { + Protocol.Runtime.evaluate({ expression: "({})", awaitPromise: true }) + .then(result => InspectorTest.logMessage(result)) + .then(() => next()); + }, + + function testPendingPromise(next) + { + Protocol.Runtime.evaluate({ expression: "createPromiseAndScheduleResolve()", awaitPromise: true, returnByValue: true }) + .then(result => InspectorTest.logMessage(result)) + .then(() => next()); + }, + + function testExceptionInEvaluate(next) + { + Protocol.Runtime.evaluate({ expression: "throw 239", awaitPromise: true }) + .then(result => InspectorTest.logMessage(result)) + .then(() => next()); + } +]); |