const t = require('tap') const MP = require('../') t.test('emit end on resume', async t => { const list = [] const mp = new MP() mp.on('end', _ => list.push('end')) mp.end() t.notOk(mp.emittedEnd) list.push('called end') mp.resume() t.ok(mp.emittedEnd) list.push('called resume') t.same(list, ['called end', 'end', 'called resume']) }) t.test('emit end on read()', async t => { const list = [] const mp = new MP() mp.on('end', _ => list.push('end')) mp.end() list.push('called end') mp.read() list.push('called read()') t.same(list, ['called end', 'end', 'called read()']) }) t.test('emit end on data handler', async t => { const list = [] const mp = new MP() mp.on('end', _ => list.push('end')) mp.end() list.push('called end') mp.on('data', _=>_) list.push('added data handler') t.same(list, ['called end', 'end', 'added data handler']) })