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.
38 lines
1.1 KiB
38 lines
1.1 KiB
'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);
|
|
|