HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode/frontend/node_modules/lazystream/test/readable_test.js
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();
    });

    readable.read(0);
  },
  resume: 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));
    });

    readable.pause();

    readable.on('data', function(chunk) {
      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();
    });

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

    readable.resume();
  }
};