summaryrefslogtreecommitdiff
path: root/test/parallel
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-01-21 20:45:55 +0100
committerAnna Henningsen <anna@addaleax.net>2019-01-23 16:43:29 +0100
commiteeea0dd1e74487edb0f707e571ddd14ec09686b0 (patch)
tree01b61c72c13d15506bc46bef3cd75ade65213c71 /test/parallel
parent2b65399694440d0bab1c4e394898a4555e58c324 (diff)
downloadandroid-node-v8-eeea0dd1e74487edb0f707e571ddd14ec09686b0.tar.gz
android-node-v8-eeea0dd1e74487edb0f707e571ddd14ec09686b0.tar.bz2
android-node-v8-eeea0dd1e74487edb0f707e571ddd14ec09686b0.zip
events: show inspected error in uncaught 'error' message
If there is no handler for `.emit('error', value)` and `value` is not an `Error` object, we currently just call `.toString()` on it. Almost always, using `util.inspect()` provides better information for diagnostic purposes, so prefer to use that instead. Refs: https://github.com/nodejs/help/issues/1729 PR-URL: https://github.com/nodejs/node/pull/25621 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Matheus Marchini <mat@mmarchini.me>
Diffstat (limited to 'test/parallel')
-rw-r--r--test/parallel/test-event-emitter-errors.js15
1 files changed, 14 insertions, 1 deletions
diff --git a/test/parallel/test-event-emitter-errors.js b/test/parallel/test-event-emitter-errors.js
index ef2bbee93f..13d3a98d9c 100644
--- a/test/parallel/test-event-emitter-errors.js
+++ b/test/parallel/test-event-emitter-errors.js
@@ -1,6 +1,7 @@
'use strict';
const common = require('../common');
const EventEmitter = require('events');
+const util = require('util');
const EE = new EventEmitter();
@@ -9,7 +10,7 @@ common.expectsError(
{
code: 'ERR_UNHANDLED_ERROR',
type: Error,
- message: 'Unhandled error. (Accepts a string)'
+ message: "Unhandled error. ('Accepts a string')"
}
);
@@ -18,6 +19,18 @@ common.expectsError(
{
code: 'ERR_UNHANDLED_ERROR',
type: Error,
+ message: "Unhandled error. ({ message: 'Error!' })"
+ }
+);
+
+common.expectsError(
+ () => EE.emit('error', {
+ message: 'Error!',
+ [util.inspect.custom]() { throw new Error(); }
+ }),
+ {
+ code: 'ERR_UNHANDLED_ERROR',
+ type: Error,
message: 'Unhandled error. ([object Object])'
}
);