mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
8 years ago
|
'use strict';
|
||
|
const common = require('../common');
|
||
|
|
||
|
const expectedDeprecationWarning = 'Unhandled promise rejections are ' +
|
||
|
'deprecated. In the future, promise ' +
|
||
|
'rejections that are not handled will ' +
|
||
|
'terminate the Node.js process with a ' +
|
||
|
'non-zero exit code.';
|
||
|
const expectedPromiseWarning = 'Unhandled promise rejection (rejection id: ' +
|
||
|
'1): [object Object]';
|
||
|
|
||
|
function throwErr() {
|
||
|
throw new Error('Error from proxy');
|
||
|
}
|
||
|
|
||
|
const thorny = new Proxy({}, {
|
||
|
getPrototypeOf: throwErr,
|
||
|
setPrototypeOf: throwErr,
|
||
|
isExtensible: throwErr,
|
||
|
preventExtensions: throwErr,
|
||
|
getOwnPropertyDescriptor: throwErr,
|
||
|
defineProperty: throwErr,
|
||
|
has: throwErr,
|
||
|
get: throwErr,
|
||
|
set: throwErr,
|
||
|
deleteProperty: throwErr,
|
||
|
ownKeys: throwErr,
|
||
|
apply: throwErr,
|
||
|
construct: throwErr
|
||
|
});
|
||
|
|
||
|
common.expectWarning({
|
||
|
DeprecationWarning: expectedDeprecationWarning,
|
||
|
UnhandledPromiseRejectionWarning: expectedPromiseWarning,
|
||
|
});
|
||
|
|
||
|
// ensure this doesn't crash
|
||
|
Promise.reject(thorny);
|