'use strict'; require('../common'); const Readable = require('_stream_readable'); const assert = require('assert'); let buf = ''; const euro = Buffer.from([0xE2, 0x82, 0xAC]); const cent = Buffer.from([0xC2, 0xA2]); const source = Buffer.concat([euro, cent]); const readable = Readable({ encoding: 'utf8' }); readable.push(source.slice(0, 2)); readable.push(source.slice(2, 4)); readable.push(source.slice(4, 6)); readable.push(null); readable.on('data', function(data) { buf += data; }); process.on('exit', function() { assert.strictEqual(buf, '€¢'); });