示例#1
0
  'test pause()': function(defer){
    var calls = 0
      , data = []
      , req = new Stream;

    req.write = function(data){
      this.emit('data', data);
    };
    req.end = function(){
      this.emit('end');
    };

    var pause = utils.pause(req);

    req.write('one');
    req.write('two');
    req.end();

    req.on('data', function(chunk){
      ++calls;
      data.push(chunk);
    });
    req.on('end', function(){
      ++calls;
      data.should.have.length(2);
    });

    pause.resume();

    defer(function(){
      calls.should.equal(3);
    });
  },
示例#2
0
文件: index.js 项目: maxogden/omg
 stream.end = function (data) {
   if(data)
     stream.write(data)
   if(!count && !path)
     stream.emit('data', stream.root)
   stream.emit('end')
 }
示例#3
0
 stream.end = function(data) {
   var ret;
   if (data) {
     ret = stream.write(data);
   }
   this.destroy();
   return ret;
 };
示例#4
0
 stream.end = function (data) {
   if(ended) return 
   //this breaks, because pipe doesn't check writable before calling end.
   //throw new Error('cannot call end twice')
   ended = true
   if(arguments.length) stream.write(data)
   if(!buffer.length) _end()
 }
示例#5
0
 function end (data) {
   //if end was called with args, write it, 
   ended = true //write will emit 'end' if ended is true
   stream.writable = false
   if(data !== undefined)
     return stream.write(data)
   else if (inputs == outputs) //wait for processing 
     stream.readable = false, stream.emit('end'), stream.destroy() 
 }
示例#6
0
文件: index.js 项目: maxogden/omg
 stream.end = function (data) {
   if(ended) return
   ended = true
   if(data) stream.write(data)
   if(!anyData) stream.emit('data', op)
   stream.emit('data', cl)
   
   stream.emit('end')
 }
示例#7
0
 ws.end = function(data) {
   if (data) ws.write(data)
   if (!processing) {
     ws.emit('close')
   }
   else {
     ended = true
   }
 }
示例#8
0
文件: garner.js 项目: joelcox/garner
    it('..umh, does some processing!', function(done) {

      // Mock out a stream
      var csvStream = new stream.Stream();
      csvStream.writable = true;

      csvStream.write = function (data) {
        this.emit('record', data);
        return true;
      }

      csvStream.end = function (data) {
        this.emit('end')
      }

      garn.groupBy('hair-color');
      garn.groupByRelative('hair-color');
      garn.first('weight');

      garn.process(csvStream, function(err, results) {
        results.hairColor.operations.groupBy.blonde.should.eql(1);
        results.hairColor.operations.groupBy.black.should.eql(2);
        results.hairColor.operations.groupByRelative.blonde.should.eql(0.3333333333333333);
        results.hairColor.operations.groupByRelative.black.should.eql(0.6666666666666666);
        results.weight.operations.first.should.eql(71);
        results._rows.should.eql(3);
        done();
      });

      csvStream.write(['eye-color', 'hair-color', 'weight']);
      csvStream.write(['blue', 'blonde', 71]);
      csvStream.write(['blue', 'black', 82]);
      csvStream.write(['brown', 'black', 87]);
      csvStream.end();

    });
示例#9
0
 function end(deltas) {
   if(deltas) {
     stream.write(deltas)
   }
 }
示例#10
0
 stream.end = function (data) {
    if(data)
       stream.write(data);
       stream.emit('end');
    }