UNPKG

rafa

Version:

Rafa.js is a Javascript framework for building concurrent applications.

44 lines (39 loc) 1.17 kB
module.exports = (assert, Rafa) => { suite("configure", () => { test("throw error when capacity < length", () => { var buffer = Rafa.buffer(2); buffer.push(1); buffer.push(2); assert.throws(() => buffer.configure(1)); }); test("grow when start is 0", () => { var buffer = Rafa.buffer(2); buffer.push(1); buffer.configure(3); assert.equal(buffer.capacity, 3); assert.equal(buffer.length, 1); assert.ok(buffer.overwrite); assert.equal(buffer.buffer[0], 1); }); test("grow when start is upper bound", () => { var buffer = Rafa.buffer(2); buffer.push(1); buffer.push(2); buffer.shift(); buffer.configure(3); assert.equal(buffer.capacity, 3); assert.equal(buffer.length, 1); assert.ok(buffer.overwrite); assert.equal(buffer.buffer[0], 2); }); test("shrink", () => { var buffer = Rafa.buffer(2); buffer.push(1); buffer.configure(1); assert.equal(buffer.capacity, 1); assert.equal(buffer.length, 1); assert.ok(buffer.overwrite); assert.equal(buffer.buffer[0], 1); }); }); };