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 : slice-buffer.js
/*
 * Test dependencies
 */

var sliceBuffer = require('../index.js');
var expect = require('expect.js');

/**
 * Tests
 */

describe('sliceBuffer', function() {
  describe('using standard slice', function() {
    it('should slice correctly with only start provided', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }

      var sliced = sliceBuffer(abv.buffer, 3);
      var sabv = new Uint8Array(sliced);
      for (var i = 3, ii = 0; i < abv.length; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with start and end provided', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }

      var sliced = sliceBuffer(abv.buffer, 3, 8);
      var sabv = new Uint8Array(sliced);
      for (var i = 3, ii = 0; i < 8; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with negative start', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }

      var sliced = sliceBuffer(abv.buffer, -3);
      var sabv = new Uint8Array(sliced);
      for (var i = abv.length - 3, ii = 0; i < abv.length; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with negative end', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }

      var sliced = sliceBuffer(abv.buffer, 0, -3);
      var sabv = new Uint8Array(sliced);
      for (var i = 0, ii = 0; i < abv.length - 3; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with negative start and end', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }

      var sliced = sliceBuffer(abv.buffer, -6, -3);
      var sabv = new Uint8Array(sliced);
      for (var i = abv.length - 6, ii = 0; i < abv.length - 3; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with equal start and end', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }

      var sliced = sliceBuffer(abv.buffer, 1, 1);
      expect(sliced.byteLength).to.equal(0);
    });
    
    it('should slice correctly when end larger than buffer', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }

      var sliced = sliceBuffer(abv.buffer, 0, 100);
      expect(new Uint8Array(sliced)).to.eql(abv);
    });

    it('shoud slice correctly when start larger than end', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }

      var sliced = sliceBuffer(abv.buffer, 6, 5);
      expect(sliced.byteLength).to.equal(0);
    });
  });

  describe('using fallback', function() {
    it('should slice correctly with only start provided', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }
      var ab = abv.buffer;
      ab.slice = undefined;

      var sliced = sliceBuffer(ab, 3);
      var sabv = new Uint8Array(sliced);
      for (var i = 3, ii = 0; i < abv.length; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with start and end provided', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }
      var ab = abv.buffer;
      ab.slice = undefined;


      var sliced = sliceBuffer(ab, 3, 8);
      var sabv = new Uint8Array(sliced);
      for (var i = 3, ii = 0; i < 8; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with negative start', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }
      var ab = abv.buffer;
      ab.slice = undefined;


      var sliced = sliceBuffer(ab, -3);
      var sabv = new Uint8Array(sliced);
      for (var i = abv.length - 3, ii = 0; i < abv.length; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with negative end', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }
      var ab = abv.buffer;
      ab.slice = undefined;

      var sliced = sliceBuffer(ab, 0, -3);
      var sabv = new Uint8Array(sliced);
      for (var i = 0, ii = 0; i < abv.length - 3; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with negative start and end', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }
      var ab = abv.buffer;
      ab.slice = undefined;

      var sliced = sliceBuffer(ab, -6, -3);
      var sabv = new Uint8Array(sliced);
      for (var i = abv.length - 6, ii = 0; i < abv.length - 3; i++, ii++) {
        expect(abv[i]).to.equal(sabv[ii]);
      }
    });

    it('should slice correctly with equal start and end', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }
      var ab = abv.buffer;
      ab.slice = undefined;

      var sliced = sliceBuffer(ab, 1, 1);
      expect(sliced.byteLength).to.equal(0);
    });

    it('should slice correctly when end larger than buffer', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }
      var ab = abv.buffer;
      ab.slice = undefined;

      var sliced = sliceBuffer(ab, 0, 100);
      var sabv = new Uint8Array(sliced);
      for (var i = 0; i < abv.length; i++) {
        expect(abv[i]).to.equal(sabv[i]);
      }
    });

    it('shoud slice correctly when start larger than end', function() {
      var abv = new Uint8Array(10);
      for (var i = 0; i < abv.length; i++) {
        abv[i] = i;
      }
      var ab = abv.buffer;
      ab.slice = undefined;

      var sliced = sliceBuffer(ab, 6, 5);
      expect(sliced.byteLength).to.equal(0);
    });
  });
});
© 2026 GrazzMean