// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 16.13.0 // This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually // Flags: --expose-internals 'use strict'; require('../common'); const assert = require('assert'); const net = require('net'); // const { internalBinding } = require('internal/test/binding'); // const { UV_EOF } = internalBinding('uv'); // const { streamBaseState, kReadBytesOrError } = internalBinding('stream_wrap'); const s = new net.Socket({ handle: { readStart: function() { setImmediate(() => { // streamBaseState[kReadBytesOrError] = UV_EOF; // internal onread has different shape to Node. this.onread(new Uint8Array(), -4095); }); }, close: (cb) => setImmediate(cb) }, writable: false }); assert.strictEqual(s, s.resume()); const events = []; s.on('end', () => { events.push('end'); }); s.on('close', () => { events.push('close'); }); process.on('exit', () => { assert.deepStrictEqual(events, [ 'end', 'close' ]); });