| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | 
							- var test = require('tape')
 
- var path = require('path')
 
- var from = require('./')
 
- var fs   = require('fs')
 
- var tmp = path.resolve(
 
-   __dirname, 'tmp.txt'
 
- )
 
- function fromString(string) {
 
-   return from(function(size, next) {
 
-     if (string.length <= 0) return next(null, null)
 
-     var chunk = string.slice(0, size)
 
-     string = string.slice(size)
 
-     next(null, chunk)
 
-   })
 
- }
 
- test('from2', function(t) {
 
-   var contents = fs.readFileSync(__filename, 'utf8')
 
-   var stream = fromString(contents)
 
-   stream
 
-     .pipe(fs.createWriteStream(tmp))
 
-     .on('close', function() {
 
-       t.equal(fs.readFileSync(tmp, 'utf8'), contents)
 
-       fs.unlinkSync(tmp)
 
-       t.end()
 
-     })
 
- })
 
- test('old mode', function(t) {
 
-   var contents = fs.readFileSync(__filename, 'utf8')
 
-   var stream = fromString(contents)
 
-   var buffer = ''
 
-   stream.on('data', function(data) {
 
-     buffer += data
 
-   }).on('end', function() {
 
-     t.equal(buffer, contents)
 
-     t.end()
 
-   })
 
- })
 
- test('destroy', function(t) {
 
-   var stream = from(function(size, next) {
 
-     process.nextTick(function() {
 
-       next(null, 'no')
 
-     })
 
-   })
 
-   stream.on('data', function(data) {
 
-     t.ok(false)
 
-   }).on('close', function() {
 
-     t.ok(true)
 
-     t.end()
 
-   })
 
-   stream.destroy()
 
- })
 
- test('arrays', function (t) {
 
-   var input = ['a', 'b', 'c']
 
-   var stream = from(input)
 
-   var output = []
 
-   stream.on('data', function (letter) {
 
-     output.push(letter.toString())
 
-   })
 
-   stream.on('end', function () {
 
-     t.deepEqual(input, output)
 
-     t.end()
 
-   })
 
- })
 
- test('obj arrays', function (t) {
 
-   var input = [{foo:'a'}, {foo:'b'}, {foo:'c'}]
 
-   var stream = from.obj(input)
 
-   var output = []
 
-   stream.on('data', function (letter) {
 
-     output.push(letter)
 
-   })
 
-   stream.on('end', function () {
 
-     t.deepEqual(input, output)
 
-     t.end()
 
-   })
 
- })
 
- test('arrays can emit errors', function (t) {
 
-   var input = ['a', 'b', new Error('ooops'), 'c']
 
-   var stream = from(input)
 
-   var output = []
 
-   stream.on('data', function (letter) {
 
-     output.push(letter.toString())
 
-   })
 
-   stream.on('error', function(e){
 
-     t.deepEqual(['a', 'b'], output)
 
-     t.equal('ooops', e.message)
 
-     t.end()
 
-   })  
 
-   stream.on('end', function () {
 
-     t.fail('the stream should have errored')
 
-   })
 
- })
 
- test('obj arrays can emit errors', function (t) {
 
-   var input = [{foo:'a'}, {foo:'b'}, new Error('ooops'), {foo:'c'}]
 
-   var stream = from.obj(input)
 
-   var output = []
 
-   stream.on('data', function (letter) {
 
-     output.push(letter)
 
-   })
 
-   stream.on('error', function(e){
 
-     t.deepEqual([{foo:'a'}, {foo:'b'}], output)
 
-     t.equal('ooops', e.message)
 
-     t.end()
 
-   })
 
-   stream.on('end', function () {
 
-     t.fail('the stream should have errored')
 
-   })
 
- })
 
 
  |