Acme.BookStore.HttpApi.Host/node_modules/lazystream/test/readable_test.js

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。


var Readable = require('../lib/lazystream').Readable;
var DummyReadable = require('./helper').DummyReadable;

exports.readable = {
  dummy: function(test) {
    var expected = [ 'line1\n', 'line2\n' ];
    var actual = [];

    test.expect(1);

    new DummyReadable([].concat(expected))
      .on('data', function(chunk) {
        actual.push(chunk.toString());
      })
      .on('end', function() {
        test.equal(actual.join(''), expected.join(''), 'DummyReadable should produce the data it was created with');
        test.done();
      });
  },
  options: function(test) {
    test.expect(3);

    var readable = new Readable(function(options) {
       test.ok(this instanceof Readable, "Readable should bind itself to callback's this");
       test.equal(options.encoding, "utf-8", "Readable should make options accessible to callback");
       this.ok = true;
       return new DummyReadable(["test"]);
    }, {encoding: "utf-8"});

    readable.read(4);

    test.ok(readable.ok);

    test.done();
  },
  streams2: function(test) {
    var expected = [ 'line1\n', 'line2\n' ];
    var actual = [];
    var instantiated = false;

    test.expect(2);

    var readable = new Readable(function() {
      instantiated = true;
      return new DummyReadable([].concat(expected));
    });

    test.equal(instantiated, false, 'DummyReadable should only be instantiated when it is needed');

    readable.on('readable', function() {
      var chunk;
      while ((chunk = readable.read())) {
        actual.push(chunk.toString());
      }
    });
    readable.on('end', function() {
      test.equal(actual.join(''), expected.join(''), 'Readable should not change the data of the underlying stream');
      test.done();
    });
后面还有 30 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。