Tests that Runtime.evaluate works with awaitPromise flag. Running test: testResolvedPromise { id : result : { result : { description : 239 type : number value : 239 } } } Running test: testRejectedPromise { id : result : { exceptionDetails : { columnNumber : 0 exception : { description : 239 type : number value : 239 } exceptionId : lineNumber : 0 text : Uncaught (in promise) } result : { description : 239 type : number value : 239 } } } Running test: testRejectedPromiseWithError { id : result : { exceptionDetails : { columnNumber : 11 exception : { className : Error description : Error: MyError at foo (:13:11) at throwError (:15:3) objectId : subtype : error type : object } exceptionId : lineNumber : 13 scriptId : stackTrace : { callFrames : [ [0] : { columnNumber : 10 functionName : foo lineNumber : 12 scriptId : url : } [1] : { columnNumber : 2 functionName : throwError lineNumber : 14 scriptId : url : } ] } text : Uncaught (in promise) Error: MyError } result : { className : Error description : Error: MyError at foo (:13:11) at throwError (:15:3) objectId : subtype : error type : object } } } Running test: testRejectedPromiseWithSyntaxError { id : result : { exceptionDetails : { columnNumber : 5 exception : { className : SyntaxError description : SyntaxError: Unexpected token '}' at foo (:21:5) at throwSyntaxError (:23:3) objectId : subtype : error type : object } exceptionId : lineNumber : 21 scriptId : stackTrace : { callFrames : [ [0] : { columnNumber : 4 functionName : foo lineNumber : 20 scriptId : url : } [1] : { columnNumber : 2 functionName : throwSyntaxError lineNumber : 22 scriptId : url : } ] } text : Uncaught (in promise) SyntaxError: Unexpected token '}' } result : { className : SyntaxError description : SyntaxError: Unexpected token '}' at foo (:21:5) at throwSyntaxError (:23:3) objectId : subtype : error type : object } } } Running test: testPrimitiveValueInsteadOfPromise { id : result : { result : { type : boolean value : true } } } Running test: testObjectInsteadOfPromise { id : result : { result : { type : object value : { } } } } Running test: testPendingPromise { id : result : { result : { type : object value : { a : 239 } } } } Running test: testExceptionInEvaluate { id : result : { exceptionDetails : { columnNumber : 0 exception : { description : 239 type : number value : 239 } exceptionId : lineNumber : 0 scriptId : text : Uncaught } result : { description : 239 type : number value : 239 } } } Running test: testThenableJob { id : result : { result : { description : 42 type : number value : 42 } } } Running test: testLastEvaluatedResult { id : result : { result : { description : 42 type : number value : 42 } } } { id : result : { result : { description : 42 type : number value : 42 } } } Running test: testRuntimeDisable Resolving promise.. { id : result : { result : { className : Object description : Object objectId : type : object } } } Promise resolved Running test: testImmediatelyResolvedAfterAfterContextDestroyed Destroying context.. { error : { code : -32000 message : Execution context was destroyed. } id : } Context destroyed Triggering weak callback..