react / wstein / node_modules / browserify / node_modules / read-only-stream / node_modules / readable-wrap / test / object_mode.js
80542 viewsvar test = require('tape');1var through = require('through2');2var EventEmitter = require('events').EventEmitter;3var wrap = require('../');45test('falsey object mode', function (t) {6var oldStream = new EventEmitter;7var wrapped = wrap.obj(oldStream);89var input = [ 5, 'a', false, 0, '', 'xyz', { x: 4 }, 7, [], 555 ];10var expected = input.slice();11t.plan(expected.length + 1);1213wrapped.pipe(through.obj(write, end));1415var iv = setInterval(function () {16if (input.length === 0) {17oldStream.emit('end');18clearInterval(iv);19}20else oldStream.emit('data', input.shift());21}, 5);2223function write (row, enc, next) {24t.deepEqual(row, expected.shift());25next();26}2728function end () { t.ok('ended') }29});3031test('falsey object mode option', function (t) {32var oldStream = new EventEmitter;33var wrapped = wrap(oldStream, { objectMode: true });3435var input = [ 5, 'a', false, 0, '', 'xyz', { x: 4 }, 7, [], 555 ];36var expected = input.slice();37t.plan(expected.length + 1);3839wrapped.pipe(through.obj(write, end));4041var iv = setInterval(function () {42if (input.length === 0) {43oldStream.emit('end');44clearInterval(iv);45}46else oldStream.emit('data', input.shift());47}, 5);4849function write (row, enc, next) {50t.deepEqual(row, expected.shift());51next();52}5354function end () { t.ok('ended') }55});565758