Test Promise with Promise A+ tests 2.3.4.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `undefined` already-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `undefined` immediately-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `undefined` eventually-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `undefined` already-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `undefined` immediately-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `undefined` eventually-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `null` already-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `null` immediately-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `null` eventually-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `null` already-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `null` immediately-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `null` eventually-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `false` already-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `false` immediately-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `false` eventually-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `false` already-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `false` immediately-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `false` eventually-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` already-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` immediately-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` eventually-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` already-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` immediately-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` eventually-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `0` already-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `0` immediately-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `0` eventually-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `0` already-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `0` immediately-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `0` eventually-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` with `Boolean.prototype` modified to have a `then` method already-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` with `Boolean.prototype` modified to have a `then` method immediately-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` with `Boolean.prototype` modified to have a `then` method eventually-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` with `Boolean.prototype` modified to have a `then` method already-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` with `Boolean.prototype` modified to have a `then` method immediately-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `true` with `Boolean.prototype` modified to have a `then` method eventually-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `1` with `Number.prototype` modified to have a `then` method already-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `1` with `Number.prototype` modified to have a `then` method immediately-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `1` with `Number.prototype` modified to have a `then` method eventually-fulfilled
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `1` with `Number.prototype` modified to have a `then` method already-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `1` with `Number.prototype` modified to have a `then` method immediately-rejected
PASS 2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `1` with `Number.prototype` modified to have a `then` method eventually-rejected
PASS successfullyParsed is true

TEST COMPLETE

