binary-data
Version:
Declarative binary data encoder / decoder.
1 lines • 9.26 kB
Source Map (JSON)
{"version":3,"sources":["buffer-list.js"],"names":["BufferList","require","test","bl","buf1","Buffer","from","buf2","append","expect","length","toEqual","consume","offset","get","indexOf","toBe","toThrow","buf"],"mappings":"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","file":"buffer-list.js","sourcesContent":["'use strict';\n\nconst BufferList = require('internal/buffer-list');\n\ntest('append()', () => {\n const bl = new BufferList();\n const buf1 = Buffer.from([1, 2, 3, 4, 5]);\n const buf2 = Buffer.from([6, 7, 8, 9]);\n\n bl.append(buf1);\n expect(bl.length).toEqual(buf1.length);\n\n bl.append([buf1, buf2]);\n expect(bl.length).toEqual(buf1.length * 2 + buf2.length);\n});\n\ntest('consume(bytes)', () => {\n const bl = new BufferList();\n const buf1 = Buffer.from([1, 2, 3, 4, 5]);\n const buf2 = Buffer.from([6, 7, 8, 9]);\n\n bl.append([buf1, buf2]);\n bl.consume(2);\n\n expect(bl.length).toEqual(buf1.length + buf2.length - 2);\n expect(bl.offset).toEqual(2);\n\n bl.consume(3);\n expect(bl.offset).toEqual(0);\n expect(bl.length).toEqual(buf2.length);\n});\n\ntest('append() after consume()', () => {\n const bl = new BufferList();\n const buf1 = Buffer.from([1, 2, 3, 4, 5]);\n const buf2 = Buffer.from([6, 7, 8, 9]);\n\n bl.append(buf1);\n bl.consume(2);\n bl.append(buf2);\n\n expect(bl.offset).toEqual(0);\n expect(bl.length).toEqual(buf1.length + buf2.length - 2);\n});\n\ntest('get(i)', () => {\n const bl = new BufferList();\n const buf1 = Buffer.from([1, 2, 3, 4, 5]);\n const buf2 = Buffer.from([6, 7, 8, 9]);\n\n bl.append([buf1, buf2]);\n\n expect(bl.get(0)).toEqual(buf1[0]);\n expect(bl.get(bl.length - 1)).toEqual(buf2[3]);\n expect(bl.get(-1)).toEqual(buf2[3]);\n expect(bl.get(bl.length + 1)).toEqual(buf1[1]);\n\n bl.consume(2);\n\n expect(bl.get(0)).toEqual(buf1[2]);\n expect(bl.get(bl.length - 1)).toEqual(buf2[3]);\n expect(bl.get(-1)).toEqual(buf2[3]);\n expect(bl.get(bl.length + 1)).toEqual(buf1[3]);\n});\n\ntest('indexOf(i)', () => {\n const bl = new BufferList();\n const buf1 = Buffer.from([1, 2, 3, 4, 5]);\n const buf2 = Buffer.from([6, 7, 8, 0]);\n\n bl.append([buf1, buf2]);\n\n expect(bl.indexOf(1)).toBe(0);\n expect(bl.indexOf(3)).toBe(2);\n expect(bl.indexOf(5)).toBe(4);\n expect(bl.indexOf(8)).toBe(7);\n expect(bl.indexOf(0)).toBe(8);\n\n bl.consume(2);\n expect(bl.indexOf(5)).toBe(2);\n expect(bl.indexOf(8)).toBe(5);\n expect(bl.indexOf(0)).toBe(6);\n\n expect(() => bl.indexOf(-1)).toThrow('Invalid argument 1');\n expect(() => bl.indexOf(300)).toThrow('Invalid argument 1');\n expect(() => bl.indexOf(null)).toThrow('Invalid argument 1');\n});\n\ntest('indexOf(i, offset)', () => {\n const bl = new BufferList();\n const buf1 = Buffer.from([1, 2, 3, 4, 5]);\n const buf2 = Buffer.from([6, 7, 8, 9]);\n\n bl.append([buf1, buf2]);\n\n expect(bl.indexOf(3, 2)).toBe(2);\n expect(bl.indexOf(8, 2)).toBe(7);\n expect(bl.indexOf(8, 6)).toBe(7);\n expect(bl.indexOf(9, 2)).toBe(8);\n expect(bl.indexOf(9, 6)).toBe(8);\n\n bl.consume(2);\n expect(bl.indexOf(8, 2)).toBe(5);\n expect(bl.indexOf(8, 4)).toBe(5);\n});\n\ntest('indexOf(i, offset) multiple', () => {\n const bl = new BufferList();\n const buf1 = Buffer.from([1, 2, 0, 4, 5]);\n const buf2 = Buffer.from([6, 7, 8, 0]);\n\n bl.append([buf1, buf2]);\n\n expect(bl.indexOf(0, 2)).toBe(2);\n expect(bl.indexOf(0, 6)).toBe(8);\n\n bl.consume(2);\n expect(bl.indexOf(0, 0)).toBe(0);\n expect(bl.indexOf(0, 4)).toBe(6);\n});\n\ntest('indexOf() index - offset = -1', () => {\n const buf = Buffer.from([1, 2, 3, 4, 5, 6, 0, 7, 8, 9, 10, 64, 21, 0]);\n const bl = new BufferList();\n\n bl.append(buf);\n\n expect(bl.indexOf(0)).toBe(6);\n bl.consume(7);\n expect(bl.indexOf(0)).toBe(6);\n});\n"]}