1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:57:35 +00:00

LibJS: Add tests for DataView.prototype getters and setters

This commit is contained in:
Idan Horowitz 2021-06-14 02:03:20 +03:00 committed by Linus Groh
parent d7a70eb77c
commit e4e6e03364
6 changed files with 60 additions and 0 deletions

View file

@ -0,0 +1,12 @@
test("basic functionality", () => {
const buffer = new ArrayBuffer(8);
const view = new DataView(buffer);
view.setBigInt64(0, -0x6f80ff08n);
expect(view.getBigInt64(0)).toBe(-0x6f80ff08n);
view.setBigInt64(0, -0x6f80ff08n, true);
expect(view.getBigInt64(0)).toBe(-0x7ff806f00000001n);
view.setBigUint64(0, 0x6f80ff08n);
expect(view.getBigUint64(0)).toBe(0x6f80ff08n);
view.setBigUint64(0, 0x6f80ff08n, true);
expect(view.getBigUint64(0)).toBe(0x8ff806f00000000n);
});

View file

@ -0,0 +1,8 @@
test("basic functionality", () => {
const buffer = new ArrayBuffer(8);
const view = new DataView(buffer);
view.setFloat32(0, 6854.162);
expect(view.getFloat32(0)).toBe(6854.162109375);
view.setFloat32(0, 6854.162, true);
expect(view.getFloat32(0)).toBe(46618900);
});

View file

@ -0,0 +1,8 @@
test("basic functionality", () => {
const buffer = new ArrayBuffer(8);
const view = new DataView(buffer);
view.setFloat64(0, 6865415254.161212);
expect(view.getFloat64(0)).toBe(6865415254.161212);
view.setFloat64(0, 6865415254.161212, true);
expect(view.getFloat64(0)).toBe(4.2523296908380055e94);
});

View file

@ -0,0 +1,12 @@
test("basic functionality", () => {
const buffer = new ArrayBuffer(8);
const view = new DataView(buffer);
view.setInt16(0, -0xff8);
expect(view.getInt16(0)).toBe(-0xff8);
view.setInt16(0, -0xff8, true);
expect(view.getInt16(0)).toBe(0x8f0);
view.setUint16(0, 0xff8);
expect(view.getUint16(0)).toBe(0xff8);
view.setUint16(0, 0xff8, true);
expect(view.getUint16(0)).toBe(0xf80f);
});

View file

@ -0,0 +1,12 @@
test("basic functionality", () => {
const buffer = new ArrayBuffer(8);
const view = new DataView(buffer);
view.setInt32(0, -0xff08);
expect(view.getInt32(0)).toBe(-0xff08);
view.setInt32(0, -0xff08, true);
expect(view.getInt32(0)).toBe(-0x7ff0001);
view.setUint32(0, 0xff08);
expect(view.getUint32(0)).toBe(0xff08);
view.setUint32(0, 0xff08, true);
expect(view.getUint32(0)).toBe(0x8ff0000);
});

View file

@ -0,0 +1,8 @@
test("basic functionality", () => {
const buffer = new ArrayBuffer(8);
const view = new DataView(buffer);
view.setInt8(0, -0x88);
expect(view.getInt8(0)).toBe(0x78);
view.setUint8(0, 0x88);
expect(view.getUint8(0)).toBe(0x88);
});