UNPKG

jsx

Version:

a faster, safer, easier JavaScript

149 lines (118 loc) 4.04 kB
import "js/web.jsx"; import "test-case.jsx"; class _Test extends TestCase { function test_Int8Array() : void { var a = new Int8Array([10, 20, 30] : int[]); this.expect(a.length).toBe(3); this.expect(a[0]).toBe(10); this.expect(a[1]).toBe(20); this.expect(a[2]).toBe(30); this.expect(a[3]).toBe(null); this.expect(a.byteLength).toBe(3); a = new Int8Array(10); this.expect(a.length).toBe(10); this.expect(a[0]).toBe(0); } function test_Uint8Array() : void { var a = new Uint8Array([10, 20, 30] : int[]); this.expect(a.length).toBe(3); this.expect(a[0]).toBe(10); this.expect(a[1]).toBe(20); this.expect(a[2]).toBe(30); this.expect(a[3]).toBe(null); this.expect(a.byteLength).toBe(3); a = new Uint8Array(10); this.expect(a.length).toBe(10); this.expect(a[0]).toBe(0); } function test_Int16Array() : void { var a = new Int16Array([10, 20, 30] : int[]); this.expect(a.length).toBe(3); this.expect(a[0]).toBe(10); this.expect(a[1]).toBe(20); this.expect(a[2]).toBe(30); this.expect(a[3]).toBe(null); this.expect(a.byteLength).toBe(3 * 2); a = new Int16Array(10); this.expect(a.length).toBe(10); this.expect(a[0]).toBe(0); } function test_Uint16Array() : void { var a = new Uint16Array([10, 20, 30] : int[]); this.expect(a.length).toBe(3); this.expect(a[0]).toBe(10); this.expect(a[1]).toBe(20); this.expect(a[2]).toBe(30); this.expect(a[3]).toBe(null); this.expect(a.byteLength).toBe(3 * 2); a = new Uint16Array(10); this.expect(a.length).toBe(10); this.expect(a[0]).toBe(0); } function test_Int32Array() : void { var a = new Int32Array([10, 20, 30] : int[]); this.expect(a.length).toBe(3); this.expect(a[0]).toBe(10); this.expect(a[1]).toBe(20); this.expect(a[2]).toBe(30); this.expect(a[3]).toBe(null); this.expect(a.byteLength).toBe(3 * 4); a = new Int32Array(10); this.expect(a.length).toBe(10); this.expect(a[0]).toBe(0); } function test_Uint32Array() : void { var a = new Uint32Array([10, 20, 30] : int[]); this.expect(a.length).toBe(3); this.expect(a[0]).toBe(10); this.expect(a[1]).toBe(20); this.expect(a[2]).toBe(30); this.expect(a[3]).toBe(null); this.expect(a.byteLength).toBe(3 * 4); a = new Uint32Array(10); this.expect(a.length).toBe(10); this.expect(a[0]).toBe(0); } function test_Float32Array() : void { var a = new Float32Array([10, 20, 30]); this.expect(a.length).toBe(3); this.expect(a[0]).toBe(10); this.expect(a[1]).toBe(20); this.expect(a[2]).toBe(30); this.expect(a[3]).toBe(null); this.expect(a.byteLength).toBe(3 * 4); a = new Float32Array(10); this.expect(a.length).toBe(10); this.expect(a[0]).toBe(0); } function test_Float64Array() : void { var a = new Float64Array([10, 20, 30]); this.expect(a.length).toBe(3); this.expect(a[0]).toBe(10); this.expect(a[1]).toBe(20); this.expect(a[2]).toBe(30); this.expect(a[3]).toBe(null); this.expect(a.byteLength).toBe(3 * 8); a = new Float64Array(10); this.expect(a.length).toBe(10); this.expect(a[0]).toBe(0); } function test_DataView() : void { var b = new Uint8Array([0x10, 0x20, 0x30, 0x40, 0, 0, 0, 0] : int[]); var v = new DataView(b.buffer); this.expect(v.getInt8(0), 'getInt8').toBe(0x10); this.expect(v.getUint8(0), 'getUint8').toBe(0x10); this.expect(v.getInt16(0), 'getInt16/BE').toBe(0x1020); this.expect(v.getInt16(0, true), 'getInt16/LE').toBe(0x2010); this.expect(v.getUint16(0), 'getUint16/BE').toBe(0x1020); this.expect(v.getUint16(0, true), 'getUint16/LE').toBe(0x2010); this.expect(v.getInt32(0), 'getInt32/BE').toBe(0x10203040); this.expect(v.getInt32(0, true), 'getInt32/LE').toBe(0x40302010); this.expect(v.getUint32(0), 'getUint32/BE').toBe(0x10203040); this.expect(v.getUint32(0, true), 'getUint32/LE').toBe(0x40302010); v.setFloat32(0, 123.456); this.expect( Math.abs(v.getFloat32(0) - 123.456 ), 'getFloat32').toBeLT(0.001); v.setFloat64(0, 123.456); this.expect(v.getFloat64(0), 'getFloat64').toBe(123.456); } }