49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
// test.js
|
|
import assert from 'node:assert/strict';
|
|
import { areArrayBuffersEqual } from '../buffer.mjs';
|
|
|
|
describe('areArrayBuffersEqual', function () {
|
|
it('should return true for equal ArrayBuffers', function () {
|
|
const buffer1 = new ArrayBuffer(4);
|
|
const view1 = new DataView(buffer1);
|
|
view1.setInt8(0, 1);
|
|
view1.setInt8(1, 2);
|
|
view1.setInt8(2, 3);
|
|
view1.setInt8(3, 4);
|
|
|
|
const buffer2 = new ArrayBuffer(4);
|
|
const view2 = new DataView(buffer2);
|
|
view2.setInt8(0, 1);
|
|
view2.setInt8(1, 2);
|
|
view2.setInt8(2, 3);
|
|
view2.setInt8(3, 4);
|
|
|
|
assert.equal(areArrayBuffersEqual(buffer1, buffer2), true);
|
|
});
|
|
|
|
it('should return false for different length ArrayBuffers', function () {
|
|
const buffer1 = new ArrayBuffer(4);
|
|
const buffer2 = new ArrayBuffer(8);
|
|
|
|
assert.equal(areArrayBuffersEqual(buffer1, buffer2), false);
|
|
});
|
|
|
|
it('should return false for different content ArrayBuffers', function () {
|
|
const buffer1 = new ArrayBuffer(4);
|
|
const view1 = new DataView(buffer1);
|
|
view1.setInt8(0, 1);
|
|
view1.setInt8(1, 2);
|
|
view1.setInt8(2, 3);
|
|
view1.setInt8(3, 4);
|
|
|
|
const buffer2 = new ArrayBuffer(4);
|
|
const view2 = new DataView(buffer2);
|
|
view2.setInt8(0, 5);
|
|
view2.setInt8(1, 6);
|
|
view2.setInt8(2, 7);
|
|
view2.setInt8(3, 8);
|
|
|
|
assert.equal(areArrayBuffersEqual(buffer1, buffer2), false);
|
|
});
|
|
});
|