'use strict'; const common = require('../common'); const assert = require('assert'); const stream = require('stream'); let shutdown = false; const w = new stream.Writable({ final: common.mustCall(function(cb) { assert.strictEqual(this, w); setTimeout(function() { shutdown = true; cb(); }, 100); }), write: function(chunk, e, cb) { process.nextTick(cb); } }); w.on('finish', common.mustCall(function() { assert(shutdown); })); w.write(Buffer.allocUnsafe(1)); w.end(Buffer.allocUnsafe(0));