mirror of
https://github.com/nodejs/node.git
synced 2025-05-10 17:57:53 +00:00

PR-URL: https://github.com/nodejs/node/pull/22345 Refs: https://github.com/nodejs/node/issues/22160 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jon Moss <me@jonathanmoss.me> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
34 lines
747 B
JavaScript
34 lines
747 B
JavaScript
// Flags: --expose-internals
|
|
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
const { internalBinding } = require('internal/test/binding');
|
|
const StreamWrap = require('_stream_wrap');
|
|
const { Duplex } = require('stream');
|
|
const { ShutdownWrap } = internalBinding('stream_wrap');
|
|
|
|
function testShutdown(callback) {
|
|
const stream = new Duplex({
|
|
read: function() {
|
|
},
|
|
write: function() {
|
|
}
|
|
});
|
|
|
|
const wrap = new StreamWrap(stream);
|
|
|
|
const req = new ShutdownWrap();
|
|
req.oncomplete = function(code) {
|
|
assert(code < 0);
|
|
callback();
|
|
};
|
|
req.handle = wrap._handle;
|
|
|
|
// Close the handle to simulate
|
|
wrap.destroy();
|
|
req.handle.shutdown(req);
|
|
}
|
|
|
|
testShutdown(common.mustCall());
|