Uname: Linux webm016.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 7.4.33 [ PHP INFO ] PHP os: Linux
Server Ip: 54.36.31.145
Your Ip: 216.73.216.182
User: homesquasz (91404) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : EncodeStream.js
const {EncodeStream} = require('../');
const should = require('chai').should();
const concat = require('concat-stream');

describe('EncodeStream', function() {
  it('should write a buffer', function(done) {
    const stream = new EncodeStream;
    stream.pipe(concat(function(buf) {
      buf.should.deep.equal(Buffer.from([1,2,3]));
      return done();
    })
    );

    stream.writeBuffer(Buffer.from([1,2,3]));
    return stream.end();
  });

  it('should writeUInt16BE', function(done) {
    const stream = new EncodeStream;
    stream.pipe(concat(function(buf) {
      buf.should.deep.equal(Buffer.from([0xab, 0xcd]));
      return done();
    })
    );

    stream.writeUInt16BE(0xabcd);
    return stream.end();
  });

  it('should writeUInt16LE', function(done) {
    const stream = new EncodeStream;
    stream.pipe(concat(function(buf) {
      buf.should.deep.equal(Buffer.from([0xab, 0xcd]));
      return done();
    })
    );

    stream.writeUInt16LE(0xcdab);
    return stream.end();
  });

  it('should writeUInt24BE', function(done) {
    const stream = new EncodeStream;
    stream.pipe(concat(function(buf) {
      buf.should.deep.equal(Buffer.from([0xab, 0xcd, 0xef]));
      return done();
    })
    );

    stream.writeUInt24BE(0xabcdef);
    return stream.end();
  });

  it('should writeUInt24LE', function(done) {
    const stream = new EncodeStream;
    stream.pipe(concat(function(buf) {
      buf.should.deep.equal(Buffer.from([0xef, 0xcd, 0xab]));
      return done();
    })
    );

    stream.writeUInt24LE(0xabcdef);
    return stream.end();
  });

  it('should writeInt24BE', function(done) {
    const stream = new EncodeStream;
    stream.pipe(concat(function(buf) {
      buf.should.deep.equal(Buffer.from([0xff, 0xab, 0x24, 0xab, 0xcd, 0xef]));
      return done();
    })
    );

    stream.writeInt24BE(-21724);
    stream.writeInt24BE(0xabcdef);
    return stream.end();
  });

  it('should writeInt24LE', function(done) {
    const stream = new EncodeStream;
    stream.pipe(concat(function(buf) {
      buf.should.deep.equal(Buffer.from([0x24, 0xab, 0xff, 0xef, 0xcd, 0xab]));
      return done();
    })
    );

    stream.writeInt24LE(-21724);
    stream.writeInt24LE(0xabcdef);
    return stream.end();
  });

  it('should fill', function(done) {
    const stream = new EncodeStream;
    stream.pipe(concat(function(buf) {
      buf.should.deep.equal(Buffer.from([10, 10, 10, 10, 10]));
      return done();
    })
    );

    stream.fill(10, 5);
    return stream.end();
  });

  return describe('writeString', function() {
    it('should encode ascii by default', function(done) {
      const stream = new EncodeStream;
      stream.pipe(concat(function(buf) {
        buf.should.deep.equal(Buffer.from('some text', 'ascii'));
        return done();
      })
      );

      stream.writeString('some text');
      return stream.end();
    });

    it('should encode ascii', function(done) {
      const stream = new EncodeStream;
      stream.pipe(concat(function(buf) {
        buf.should.deep.equal(Buffer.from('some text', 'ascii'));
        return done();
      })
      );

      stream.writeString('some text');
      return stream.end();
    });

    it('should encode utf8', function(done) {
      const stream = new EncodeStream;
      stream.pipe(concat(function(buf) {
        buf.should.deep.equal(Buffer.from('unicode! ๐Ÿ‘', 'utf8'));
        return done();
      })
      );

      stream.writeString('unicode! ๐Ÿ‘', 'utf8');
      return stream.end();
    });

    it('should encode utf16le', function(done) {
      const stream = new EncodeStream;
      stream.pipe(concat(function(buf) {
        buf.should.deep.equal(Buffer.from('unicode! ๐Ÿ‘', 'utf16le'));
        return done();
      })
      );

      stream.writeString('unicode! ๐Ÿ‘', 'utf16le');
      return stream.end();
    });

    it('should encode ucs2', function(done) {
      const stream = new EncodeStream;
      stream.pipe(concat(function(buf) {
        buf.should.deep.equal(Buffer.from('unicode! ๐Ÿ‘', 'ucs2'));
        return done();
      })
      );

      stream.writeString('unicode! ๐Ÿ‘', 'ucs2');
      return stream.end();
    });

    it('should encode utf16be', function(done) {
      const stream = new EncodeStream;
      stream.pipe(concat(function(out) {
        const buf = Buffer.from('unicode! ๐Ÿ‘', 'utf16le');
        for (let i = 0, end = buf.length - 1; i < end; i += 2) {
          const byte = buf[i];
          buf[i] = buf[i + 1];
          buf[i + 1] = byte;
        }

        out.should.deep.equal(buf);
        return done();
      })
      );

      stream.writeString('unicode! ๐Ÿ‘', 'utf16be');
      return stream.end();
    });

    return it('should encode macroman', function(done) {
      const stream = new EncodeStream;
      stream.pipe(concat(function(out) {
        const buf = Buffer.from([0x8a, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x87, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73]);
        out.should.deep.equal(buf);
        return done();
      })
      );

      stream.writeString('รคccented chรกracters', 'mac');
      return stream.end();
    });
  });
});
© 2026 GrazzMean