Tests that Runtime.awaitPromise works.

Running test: testResolvedPromise
{
    id : <messageId>
    result : {
        result : {
            description : 239
            type : number
            value : 239
        }
    }
}

Running test: testRejectedPromise
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                className : Object
                description : Object
                objectId : <objectId>
                preview : {
                    description : Object
                    overflow : false
                    properties : [
                        [0] : {
                            name : a
                            type : number
                            value : 1
                        }
                    ]
                    type : object
                }
                type : object
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            text : Uncaught (in promise)
        }
        result : {
            type : object
            value : {
                a : 1
            }
        }
    }
}

Running test: testRejectedPromiseWithStack
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                description : 239
                type : number
                value : 239
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            text : Uncaught (in promise)
        }
        result : {
            description : 239
            type : number
            value : 239
        }
    }
}

Running test: testRejectedPromiseWithError
{
    id : <messageId>
    result : {
        exceptionDetails : {
            columnNumber : 0
            exception : {
                className : Error
                description : Error: MyError     at rejectPromiseWithAnError (test.js:25:20)     at <anonymous>:1:1
                objectId : <objectId>
                subtype : error
                type : object
            }
            exceptionId : <exceptionId>
            lineNumber : 0
            text : Uncaught (in promise) Error: MyError
        }
        result : {
            className : Error
            description : Error: MyError     at rejectPromiseWithAnError (test.js:25:20)     at <anonymous>:1:1
            objectId : <objectId>
            subtype : error
            type : object
        }
    }
}

Running test: testPendingPromise
{
    id : <messageId>
    result : {
        result : {
            description : 239
            type : number
            value : 239
        }
    }
}

Running test: testResolvedWithoutArgsPromise
{
    id : <messageId>
    result : {
        result : {
            type : undefined
        }
    }
}

Running test: testGarbageCollectedPromise
{
    error : {
        code : -32000
        message : Promise was collected
    }
    id : <messageId>
}
