summaryrefslogtreecommitdiff
path: root/test/parallel/test-http-client-req-error-dont-double-fire.js
diff options
context:
space:
mode:
authorfengmk2 <fengmk2@gmail.com>2017-07-18 11:05:05 +0800
committerTobias Nießen <tniessen@tnie.de>2017-08-16 12:27:43 +0200
commit620ba416940299fbad3e40258bb8fd99279ec8c5 (patch)
treea0771eea698aed5092b26832ec8ecbbbf456a280 /test/parallel/test-http-client-req-error-dont-double-fire.js
parente96b94970a0db7f9081594081a19c459731f4571 (diff)
downloadandroid-node-v8-620ba416940299fbad3e40258bb8fd99279ec8c5.tar.gz
android-node-v8-620ba416940299fbad3e40258bb8fd99279ec8c5.tar.bz2
android-node-v8-620ba416940299fbad3e40258bb8fd99279ec8c5.zip
http: don't double-fire the req error event
req.socket._hadError should be set before emitting the error event. PR-URL: https://github.com/nodejs/node/pull/14659 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Diffstat (limited to 'test/parallel/test-http-client-req-error-dont-double-fire.js')
-rw-r--r--test/parallel/test-http-client-req-error-dont-double-fire.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/parallel/test-http-client-req-error-dont-double-fire.js b/test/parallel/test-http-client-req-error-dont-double-fire.js
new file mode 100644
index 0000000000..3fca2aa843
--- /dev/null
+++ b/test/parallel/test-http-client-req-error-dont-double-fire.js
@@ -0,0 +1,16 @@
+'use strict';
+const assert = require('assert');
+const http = require('http');
+const common = require('../common');
+
+// not exists host
+const host = '*'.repeat(256);
+const req = http.get({ host });
+const err = new Error('mock unexpected code error');
+req.on('error', common.mustCall(() => {
+ throw err;
+}));
+
+process.on('uncaughtException', common.mustCall((e) => {
+ assert.strictEqual(e, err);
+}));