         done(err)
       .on 'data', (data)->
         all += data
+
+    it 'should pipe a text with endless', (done)->
+      result = new FakeFile 'path',
+        base: 'hhah',cwd: '/path/dff',load:true,read:true,buffer:true,text:true
+      all = ''
+      should.exist result.contents
+      isString(result.contents).should.be.true
+      stream = through2.obj (dat, enc, cb)->
+        cb(null, dat)
+        return
+      result.pipe(stream, end:false)
+      .on 'end', ->
+        all.should.be.deep.equal result.path
+        done()
+      .on 'error', (err)->
+        done(err)
+      .on 'data', (data)->
+        all += data
+      stream.end()
     it 'should pipe an null', (done)->
       result = new FakeFile 'path',
         base: 'hhah', cwd: '/path/dff'

      result = new FakeFile 'path',
        base: 'hhah', cwd: '/path/dff', load:true
      result.loadContent buffer:false, (err, contents)->
        return done(err) unless err
        should.exist contents
        contents.should.be.instanceof Stream
        result.loadContent buffer:false, (err, contents1)->
          return done(err) unless err
          should.exist contents1
          contents1.should.be.instanceof Stream
          contents1.should.be.equal contents
          result.loadContent (err, contents)->
            return done(err) unless err
            should.exist contents
            contents.should.be.instanceof Buffer
            contents.should.be.equal result.contents
            result.loadContent buffer:true, (err, contents1)->
              return done(err) unless err
              should.exist contents1
              contents1.should.be.instanceof Buffer
              contents1.should.be.equal contents

        done(err)
      .on 'data', (data)->
        all += data.toString()
    it 'should pipe a dir buffer', (done)->
      result = new FakeFile 'path',
        base: 'hhah', cwd: '/path/dff', load:true, read:true, dir:true
      all = []
      stream = through2.obj (dat, enc, cb)->
        cb(null, dat)
        return
      result.pipe stream
      .on 'end', ->
        all.should.be.deep.equal [1,2]
        done()
      .on 'error', (err)->
        done(err)
      .on 'data', (data)->
        all.push data

    it 'should pipe a text', (done)->
      result = new FakeFile 'path',
