

var pull = require('pull-stream')
var cat = require('../')
var test = require('tape')

test('cat', function (t) {

  cat([pull.values([1,2,3]), pull.values([4,5,6])])
  .pipe(pull.collect(function (err, ary) {
    console.log(err, ary)
    t.notOk(err)
    t.deepEqual(ary, [1,2,3,4,5,6])
    t.end()
  }))

})

test('cat - with empty', function (t) {

  cat([pull.values([1,2,3]), null, pull.values([4,5,6])])
  .pipe(pull.collect(function (err, ary) {
    console.log(err, ary)
    t.notOk(err)
    t.deepEqual(ary, [1,2,3,4,5,6])
    t.end()
  }))

})

test('cat - with empty stream', function (t) {
  var ended = false
  var justEnd = function (err, cb) { ended = true; cb(true) }
  cat([pull.values([1,2,3]), justEnd, pull.values([4,5,6])])
  .pipe(pull.collect(function (err, ary) {
    console.log(err, ary)
    t.ok(ended)
    t.notOk(err)
    t.deepEqual(ary, [1,2,3,4,5,6])
    t.end()
  }))
})



test('abort - with empty', function (t) {

  cat([pull.values([1,2,3]), null, pull.values([4,5,6])])
  .pipe(function (read) {
    read(true, function (err) {
      t.equal(err, true)
      t.end()
    })
  })

})


@@ -102,32 +102,42 @@
 function (t) %7B%0A%0A
+  pull(%0A  
   cat(%5Bpull.valu
@@ -167,33 +167,30 @@
 s(%5B4,5,6%5D)%5D)
-%0A  .pipe(
+,%0A    
 pull.collect
@@ -208,32 +208,34 @@
 err, ary) %7B%0A    
+  
 console.log(err,
@@ -232,32 +232,34 @@
 e.log(err, ary)%0A
+  
     t.notOk(err)
@@ -255,32 +255,34 @@
 .notOk(err)%0A    
+  
 t.deepEqual(ary,
@@ -297,32 +297,34 @@
 4,5,6%5D)%0A    
+  
 t.end()%0A
   %7D))%0A%0A%7D)%0A%0At
@@ -303,36 +303,41 @@
 )%0A      t.end()%0A
+  
   %7D)
+%0A  
 )%0A%0A%7D)%0A%0Atest('cat
@@ -360,32 +360,42 @@
 function (t) %7B%0A%0A
+  pull(%0A  
   cat(%5Bpull.valu
@@ -431,33 +431,30 @@
 s(%5B4,5,6%5D)%5D)
+,
 %0A  
-.pipe(
+  
 pull.collect
@@ -472,32 +472,34 @@
 err, ary) %7B%0A    
+ 
+ 
 console.log(err,
@@ -500,24 +500,26 @@
 g(err, ary)%0A
+  
     t.notOk(
@@ -519,32 +519,34 @@
 .notOk(err)%0A    
+  
 t.deepEqual(ary,
@@ -557,32 +557,34 @@
 2,3,4,5,6%5D)%0A    
+ 
+ 
 t.end()%0A  %7D))%0A%0A%7D
@@ -577,18 +577,23 @@
 end()%0A  
-%7D)
+  %7D)%0A  
 )%0A%0A%7D)%0A%0At
@@ -720,16 +720,27 @@
 true) %7D%0A
+%0A  pull(%0A  
   cat(%5Bp
@@ -791,25 +791,22 @@
 ,5,6%5D)%5D)
+,
 %0A  
-.pipe(
+  
 pull.col
@@ -832,24 +832,26 @@
  ary) %7B%0A    
+  
 console.log(
@@ -864,16 +864,18 @@
 ry)%0A    
+ 
+ 
 t.ok(end
@@ -878,16 +878,18 @@
 (ended)%0A
+  
     t.no
@@ -893,24 +893,26 @@
 .notOk(err)%0A
+  
     t.deepEq
@@ -935,24 +935,26 @@
 4,5,6%5D)%0A    
+  
 t.end()%0A  %7D)
@@ -951,18 +951,23 @@
 end()%0A  
-%7D)
+  %7D)%0A  
 )%0A%7D)%0A%0A%0A%0A
@@ -1008,17 +1008,26 @@
 n (t) %7B%0A
-%0A
+  pull(%0A  
   cat(%5Bp
@@ -1079,17 +1079,14 @@
 %5D)%5D)
+,
 %0A  
-.pipe(
+  
 func
@@ -1095,24 +1095,26 @@
 on (read) %7B%0A
+  
     read(tru
@@ -1129,24 +1129,26 @@
 ion (err) %7B%0A
+  
       t.equa
@@ -1160,16 +1160,261 @@
 , true)%0A
+        t.end()%0A      %7D)%0A    %7D%0A  )%0A%7D)%0A%0Atest('error', function (t) %7B%0A  var err = new Error('test error')%0A  pull(%0A    cat(%5Bpull.values(%5B1,2,3%5D), function (_, cb) %7B%0A      cb(err)%0A    %7D%5D),%0A    pull.collect(function (_err) %7B%0A      t.equal(_err, err)%0A
       t.
@@ -1432,12 +1432,9 @@
 )%0A  
-%7D)%0A%0A%7D
 )%0A
+%7D)
 %0A

test for errors