VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : 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,
Directory :  /proc/self/root/usr/local/lib/node_modules/netstring/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/local/lib/node_modules/netstring/test.js
var Buffer = require('buffer').Buffer;
var events = require('events');
var ns = require('./ns');

exports.nsPayloadLength = {
  'simple': function(test) {
    test.equal(ns.nsPayloadLength('30:'), 30);
    test.done();
  },
  'incomplete': function(test) {
    test.equal(ns.nsPayloadLength(''), -1);
    test.equal(ns.nsPayloadLength('30'), -1);
    test.done();
  },
  'leading zero': function(test) {
    test.equal(ns.nsPayloadLength('0:,'), 0);
    test.throws(function() {
      ns.nsPayloadLength('03:');
    }, 'Invalid netstring with leading 0');
    test.throws(function() {
      ns.nsPayloadLength('00:');
    }, 'Invalid netstring with leading 0');
    test.done();
  },
  'leading colon': function(test) {
    test.throws(function() {
      ns.nsPayloadLength(':');
    }, 'Invalid netstring with leading \':\'');
    test.throws(function() {
      ns.nsPayloadLength(':a');
    }, 'Invalid netstring with leading \':\'');
    test.done();
  },
  'invalid char': function(test) {
    test.throws(function() {
      ns.nsPayloadLength('3;');
    }, 'Unexpected character \';\' found at offset 1');
    test.throws(function() {
      ns.nsPayloadLength(';');
    }, 'Unexpected character \';\' found at offset 0');
    test.done();
  },
  'offset': function(test) {
    test.equal(ns.nsPayloadLength('xxx30', 3), -1);
    test.equal(ns.nsPayloadLength('xxx30:', 3), 30);
    test.done();
  },
  'encoding': function(test) {
    test.equal(ns.nsPayloadLength('30:', 0, 'utf8'), 30);
    test.equal(ns.nsPayloadLength(new Buffer('30:', 'utf8'), 0), 30);
    test.equal(ns.nsPayloadLength(new Buffer([0x33, 0x30, 0x3a, 0x0], 'binary'), 0), 30);
    test.done();
  }
};

exports.nsLength = {
  'simple': function(test) {
    test.equal(ns.nsLength('0:,'), 3);
    test.equal(ns.nsLength('1:q,'), 4);
    test.equal(ns.nsLength('30:'), 34);
    test.done();
  },
  'incomplete': function(test) {
    test.equal(ns.nsLength(''), -1);
    test.equal(ns.nsLength('30'), -1);
    test.done();
  },
  'encoding': function(test) {
    test.equal(ns.nsLength('1:q,', 0, 'utf8'), 4);
    test.equal(ns.nsLength(new Buffer('1:q,', 0, 'utf8')), 4);
    test.equal(ns.nsLength(new Buffer([0x33, 0x30, 0x3a, 0x0], 'binary'), 0), 34);
    test.done();
  }
};

exports.nsWriteLength = {
  'simple': function(test) {
    test.equal(ns.nsWriteLength(0), 3);
    test.equal(ns.nsWriteLength(1), 4);
    test.equal(ns.nsWriteLength(9), 12);
    test.equal(ns.nsWriteLength(10), 14);
    test.done();
  }
};

exports.nsPayload = {
  'simple': function(test) {
    test.equal(ns.nsPayload('0:,'), '');
    test.equal(ns.nsPayload('3:abc,'), 'abc');
    test.equal(ns.nsPayload(new Buffer('3:abc,')), 'abc');
    test.done();
  },
  'incomplete': function(test) {
    test.equal(ns.nsPayload(''), -1);
    test.equal(ns.nsPayload('3'), -1);
    test.equal(ns.nsPayload('3:ab'), -1);
    test.equal(ns.nsPayload('3:abc'), -1);
    test.done();
  },
  'utf8': function(test) {
    test.equal(ns.nsPayload('3:☃,'), '☃');
    test.equal(ns.nsPayload(new Buffer('3:☃,')), '☃');
    test.done();
  },
  'encoding': function(test) {
    test.equal(ns.nsPayload('3:☃,', 0, 'utf8'), '☃');
    test.equal(ns.nsPayload(new Buffer('3:☃,', 'utf8'), 0), '☃');
    test.equal(ns.nsPayload(new Buffer([0x33, 0x3a, 0x61, 0x62, 0x63, 0x2c], 'binary'), 0), 'abc');
    test.done();
  }
};

exports.nsWrite = {
  'simple': function(test) {
    test.equal(ns.nsWrite(''), '0:,');
    test.equal(ns.nsWrite('abc'), '3:abc,');
    test.equal(ns.nsWrite('a'), '1:a,');
    test.done();
  },
  'utf8': function(test) {
    test.equal(ns.nsWrite('☃'), '3:☃,');
    test.equal(ns.nsWrite(new Buffer('☃')), '3:☃,');
    test.done();
  },
  'start': function(test) {
    test.equal(ns.nsWrite('abc', 1), '2:bc,');
    test.equal(ns.nsWrite('abc', 0), '3:abc,');
    test.throws(function() {
      ns.nsWrite('abc', -1);
    }, 'payStart is out of bounds');
    // test.throws(function() {
    //   ns.nsWrite('abc', 3);
    // }, 'payStart is out of bounds');
    test.done();
  },
  'end': function(test) {
    test.equal(ns.nsWrite('abc', 0, 1), '1:a,');
    test.equal(ns.nsWrite('abc', 0, 3), '3:abc,');
    test.equal(ns.nsWrite('abc', 0, 0), '0:,');
    test.throws(function() {
      ns.nsWrite('abc', 0, -1);
    }, 'payEnd is out of bounds');
    test.throws(function() {
      ns.nsWrite('abc', 0, 4);
    }, 'payEnd is out of bounds');
    test.done();
  },
  'bufPay': function(test) {
    test.equal(ns.nsWrite(new Buffer('abc')), '3:abc,');
    test.equal(ns.nsWrite(new Buffer('abc'), 1), '2:bc,');
    test.equal(ns.nsWrite(new Buffer('abc'), 1, 2), '1:b,');
    test.done();
  },
  'bufTarget': function(test) {
    function beq(pay, payStart, payEnd, bufLen, bufOff) {
      var buf = new Buffer(ns.nsWriteLength(bufLen));
      var nsLen = ns.nsWrite.call(this, pay, payStart, payEnd, buf, bufOff)
      test.ok(nsLen >= 3);

      var bb = buf.slice(bufOff, bufOff + nsLen);
      test.equal(bb.toString(), ns.nsWrite(pay, payStart, payEnd));
    };
    beq('abc', 0, 3, 3, 0);
    beq('abc', 0, 1, 3, 0);
    beq('abc', 0, 3, 10, 1);
    test.done();
  },
  'encoding': function(test) {
    test.equal(ns.nsWrite('☃', 0, 3, null, 0, 'utf8'), '3:☃,');
    test.equal(ns.nsWrite(new Buffer('☃', 'utf8'), 0, 3, null, 0), '3:☃,');
    test.equal(ns.nsWrite(new Buffer([0x61, 0x62, 0x63], 'binary'), 0), '3:abc,');
    test.done();
  }
};

exports.Stream = {
  'simple': function(test) {
    var is  = new events.EventEmitter();
    var ins = new ns.Stream(is);

    var MSGS = [
      "abc",
      "hello world!",
      "café",
      "a",
      "b",
      "c"
    ];

    var msgsReceived = 0;
    ins.addListener('data', function(d) {
      test.equal('object', typeof d);
      test.equal(d.toString(), MSGS[msgsReceived]);
      msgsReceived++;
    });

    is.emit('data', new Buffer("3:abc,"));
    is.emit('data', new Buffer("12:hello"));
    is.emit('data', new Buffer(" world!,"));
    is.emit('data', new Buffer("5:café,"));
    is.emit('data', new Buffer("1:a,1:b,1:c,"));

    test.done();
  },
  'set encoding': function(test) {
    var is  = new events.EventEmitter();
    var ins = new ns.Stream(is);
    ins.setEncoding('utf8');

    var MSGS = [
      "a",
      "b",
      "c"
    ];

    var msgsReceived = 0;
    ins.addListener('data', function(d) {
      test.equal('string', typeof d);
      test.equal(d, MSGS[msgsReceived]);
      msgsReceived++;
    });

    is.emit('data', new Buffer("1:a,1:b,"));
    is.emit('data', new Buffer("1:c,"));

    test.done();
  }
};

VaKeR 2022