From f3667e324126150bfd7ec6726db4460a857acca4 Mon Sep 17 00:00:00 2001 From: mahaifeng Date: Fri, 12 Jul 2024 16:40:23 +0800 Subject: [PATCH] =?UTF-8?q?[array-buffer]=E6=B7=BB=E5=8A=A0slice=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uni_modules/uts-tests/utssdk/TDataView.uts | 89 +++++++++++-------- .../uts-tests/utssdk/TFloat64Array.uts | 4 +- uni_modules/uts-tests/utssdk/TInt16Array.uts | 2 + uni_modules/uts-tests/utssdk/TInt32Array.uts | 2 + uni_modules/uts-tests/utssdk/TInt8Array.uts | 4 +- uni_modules/uts-tests/utssdk/TUInt8Array.uts | 4 +- .../uts-tests/utssdk/TUInt8ClampedArray.uts | 3 +- uni_modules/uts-tests/utssdk/TUint16Array.uts | 2 + uni_modules/uts-tests/utssdk/TUint32Array.uts | 2 + 9 files changed, 71 insertions(+), 41 deletions(-) diff --git a/uni_modules/uts-tests/utssdk/TDataView.uts b/uni_modules/uts-tests/utssdk/TDataView.uts index 4191e6a..f73c540 100644 --- a/uni_modules/uts-tests/utssdk/TDataView.uts +++ b/uni_modules/uts-tests/utssdk/TDataView.uts @@ -34,72 +34,87 @@ export class TDataView { } setInt8() { + // #TEST DataView.setInt8,DataView.getInt8 // Create an ArrayBuffer with a size in bytes let buffer = new ArrayBuffer(16); let view = new DataView(buffer); view.setInt8(1, 127); // Max signed 8-bit integer expect(view.getInt8(1)).toEqual(127); - } + // #END + } setFloat32() { - console.log('setFloat32', 'start') + // #TEST DataView.setFloat32,DataView.getFloat32 // Create an ArrayBuffer with a size in bytes let buffer = new ArrayBuffer(16); let view = new DataView(buffer); - view.setFloat32(1,3); - console.log('setFloat32',view.getFloat32(1)) + view.setFloat32(1, 3); expect(this.numberEquals(3, view.getFloat32(1))).toEqual(true); - } + // #END + } setFloat64() { + // #TEST DataView.setFloat64,DataView.getFloat64 // Create an ArrayBuffer with a size in bytes let buffer = new ArrayBuffer(16); let view = new DataView(buffer); view.setFloat64(1, Math.PI); expect(this.numberEquals(3.141592653589793, view.getFloat64(1))).toEqual(true); - } + // #END + } setInt16() { + // #TEST DataView.setInt16,DataView.getInt16 // Create an ArrayBuffer with a size in bytes let buffer = new ArrayBuffer(16); let view = new DataView(buffer); view.setInt16(1, 32767); // Max signed 16-bit integer expect(view.getInt16(1)).toEqual(32767); - } + // #END + } setInt32() { + // #TEST DataView.setInt32,DataView.getInt32 // Create an ArrayBuffer with a size in bytes let buffer = new ArrayBuffer(16); let view = new DataView(buffer); view.setInt32(1, 2147483647); // Max signed 32-bit integer expect(this.numberEquals(2147483647, view.getInt32(1))).toEqual(true); - } + // #END + } setUint16() { + // #TEST DataView.setUint16,DataView.getUint16 // Create an ArrayBuffer with a size in bytes let buffer = new ArrayBuffer(16); let view = new DataView(buffer); view.setUint16(1, 65535); // Max unsigned 16-bit integer expect(this.numberEquals(65535, view.getUint16(1))).toEqual(true); + // #END } setUint32() { + // #TEST DataView.setUint32,DataView.getUint32 // Create an ArrayBuffer with a size in bytes let buffer = new ArrayBuffer(16); let view = new DataView(buffer); view.setUint32(1, 4294967295); // Max unsigned 32-bit integer expect(this.numberEquals(4294967295, view.getUint32(1))).toEqual(true); - } + // #END + } setUint8() { + // #TEST DataView.setUint8,DataView.getUint8 // Create an ArrayBuffer with a size in bytes let buffer = new ArrayBuffer(16); let view = new DataView(buffer); view.setUint8(1, 255); // Max unsigned 8-bit integer expect(this.numberEquals(255, view.getUint8(1))).toEqual(true); + // #END } - numberEquals(a: number, b: number): Boolean { + + numberEquals(a : number, b : number) : Boolean { return a == b } @@ -128,7 +143,7 @@ export class TDataView { this.doFloatIterations(false); } - doIterations(littleEndian: boolean, dataView: boolean) { + doIterations(littleEndian : boolean, dataView : boolean) { var buffer = this.makeBuffer(1000, littleEndian); var iterations = 10; if (dataView) { @@ -140,7 +155,7 @@ export class TDataView { } } - makeBuffer(size: number, littleEndian: boolean): ArrayBuffer { + makeBuffer(size : number, littleEndian : boolean) : ArrayBuffer { var buffer = new ArrayBuffer(1000 * 14); var view = new DataView(buffer); for (var i = 0; i < 1000; ++i) { @@ -154,7 +169,7 @@ export class TDataView { return buffer; } - doOneIterationDV(buffer: ArrayBuffer, littleEndian: boolean) { + doOneIterationDV(buffer : ArrayBuffer, littleEndian : boolean) { var xor = 0; var view = new DataView(buffer); for (var i = 0; i < view.byteLength; i += 14) { @@ -168,7 +183,7 @@ export class TDataView { expect(xor).toEqual(0); } - doOneIterationJS(buffer: ArrayBuffer, littleEndian: boolean) { + doOneIterationJS(buffer : ArrayBuffer, littleEndian : boolean) { var xor = 0; if (littleEndian) { var reader = new LittleEndian(buffer); @@ -195,7 +210,7 @@ export class TDataView { } - doFloatIterations(dataView: boolean) { + doFloatIterations(dataView : boolean) { var buffer = this.makeFloatBuffer(); var iterations = 10; if (dataView) { @@ -207,7 +222,7 @@ export class TDataView { } } - makeFloatBuffer(): ArrayBuffer { + makeFloatBuffer() : ArrayBuffer { var buffer = new ArrayBuffer(1000 * 16); var view = new DataView(buffer); for (var i = 0; i < 1000; i++) { @@ -218,7 +233,7 @@ export class TDataView { return buffer; } - doOneFloatIterationDV(buffer: ArrayBuffer) { + doOneFloatIterationDV(buffer : ArrayBuffer) { var sum = 0; var view = new DataView(buffer); for (var i = 0; i < view.byteLength; i += 16) { @@ -226,10 +241,10 @@ export class TDataView { sum += view.getFloat32(i + 8); sum += view.getFloat32(i + 12); } - expect(sum).toEqual(23634.413356150446); + expect(sum).toEqual(23634.413356150446); } - doOneFloatIterationJS(buffer: ArrayBuffer) { + doOneFloatIterationJS(buffer : ArrayBuffer) { var sum = 0; var float32array = new Float32Array(buffer); var float64array = new Float64Array(buffer); @@ -241,32 +256,32 @@ export class TDataView { } } class BigEndian { - private uint8View_: Uint8Array; - private int8View_: Int8Array; + private uint8View_ : Uint8Array; + private int8View_ : Int8Array; - constructor(buffer: ArrayBuffer, ) { + constructor(buffer : ArrayBuffer,) { const offset = 0; this.uint8View_ = new Uint8Array(buffer, offset); this.int8View_ = new Int8Array(buffer, offset); } - getInt8(byteOffset: number): number { + getInt8(byteOffset : number) : number { return this.int8View_[byteOffset]; } - getUint8(byteOffset: number): number { + getUint8(byteOffset : number) : number { return this.uint8View_[byteOffset]; } - getInt16(byteOffset: number): number { + getInt16(byteOffset : number) : number { return this.uint8View_[byteOffset + 1] | (this.int8View_[byteOffset] << 8); } - getUint16(byteOffset: number): number { + getUint16(byteOffset : number) : number { return this.uint8View_[byteOffset + 1] | (this.uint8View_[byteOffset] << 8); } - getInt32(byteOffset: number): number { + getInt32(byteOffset : number) : number { return ( this.uint8View_[byteOffset + 3] | (this.uint8View_[byteOffset + 2] << 8) | @@ -275,7 +290,7 @@ class BigEndian { ); } - getUint32(byteOffset: number): number { + getUint32(byteOffset : number) : number { return ( this.uint8View_[byteOffset + 3] + (this.uint8View_[byteOffset + 2] << 8) + @@ -286,32 +301,32 @@ class BigEndian { } class LittleEndian { - private uint8View_: Uint8Array; - private int8View_: Int8Array; + private uint8View_ : Uint8Array; + private int8View_ : Int8Array; - constructor(buffer: ArrayBuffer) { + constructor(buffer : ArrayBuffer) { const offset = 0; this.uint8View_ = new Uint8Array(buffer, offset); this.int8View_ = new Int8Array(buffer, offset); } - getInt8(byteOffset: number): number { + getInt8(byteOffset : number) : number { return this.int8View_[byteOffset]; } - getUint8(byteOffset: number): number { + getUint8(byteOffset : number) : number { return this.uint8View_[byteOffset]; } - getInt16(byteOffset: number): number { + getInt16(byteOffset : number) : number { return this.uint8View_[byteOffset] | (this.int8View_[byteOffset + 1] << 8); } - getUint16(byteOffset: number): number { + getUint16(byteOffset : number) : number { return this.uint8View_[byteOffset] | (this.uint8View_[byteOffset + 1] << 8); } - getInt32(byteOffset: number): number { + getInt32(byteOffset : number) : number { return ( this.uint8View_[byteOffset] | (this.uint8View_[byteOffset + 1] << 8) | @@ -320,7 +335,7 @@ class LittleEndian { ); } - getUint32(byteOffset: number): number { + getUint32(byteOffset : number) : number { return ( this.uint8View_[byteOffset] + (this.uint8View_[byteOffset + 1] << 8) + diff --git a/uni_modules/uts-tests/utssdk/TFloat64Array.uts b/uni_modules/uts-tests/utssdk/TFloat64Array.uts index 30d11a7..e552c52 100644 --- a/uni_modules/uts-tests/utssdk/TFloat64Array.uts +++ b/uni_modules/uts-tests/utssdk/TFloat64Array.uts @@ -304,7 +304,8 @@ export class TFloat64Array { } arrayBufferSlice() { - // #TEST Float64Array with ArrayBuffer.slice + + // #TEST ArrayBuffer.slice let buffer = new ArrayBuffer(16); let float64 = new Float64Array(buffer); float64[1] = 42; @@ -314,6 +315,7 @@ export class TFloat64Array { let sliced = new Float64Array(res); expect(sliced[0]).toEqual(42); // #END + } // #endif diff --git a/uni_modules/uts-tests/utssdk/TInt16Array.uts b/uni_modules/uts-tests/utssdk/TInt16Array.uts index 475f568..1d711d0 100644 --- a/uni_modules/uts-tests/utssdk/TInt16Array.uts +++ b/uni_modules/uts-tests/utssdk/TInt16Array.uts @@ -279,6 +279,7 @@ export class TInt16Array { } arrayBufferSlice() { + // #TEST ArrayBuffer.slice with Int16Array let buffer = new ArrayBuffer(16); let int16 = new Int16Array(buffer); @@ -289,6 +290,7 @@ export class TInt16Array { let sliced = new Int16Array(res); expect(sliced[0]).toEqual(42); // #END + } // #endif diff --git a/uni_modules/uts-tests/utssdk/TInt32Array.uts b/uni_modules/uts-tests/utssdk/TInt32Array.uts index 1da5a5a..21b111b 100644 --- a/uni_modules/uts-tests/utssdk/TInt32Array.uts +++ b/uni_modules/uts-tests/utssdk/TInt32Array.uts @@ -298,6 +298,7 @@ export class TInt32Array { } arrayBufferSlice() { + // #TEST ArrayBuffer.slice let buffer = new ArrayBuffer(16); let int32 = new Int32Array(buffer); @@ -308,6 +309,7 @@ export class TInt32Array { let sliced = new Int32Array(res); expect(sliced[1]).toEqual(42); // #END + } // #endif diff --git a/uni_modules/uts-tests/utssdk/TInt8Array.uts b/uni_modules/uts-tests/utssdk/TInt8Array.uts index 82d4572..6dbf003 100644 --- a/uni_modules/uts-tests/utssdk/TInt8Array.uts +++ b/uni_modules/uts-tests/utssdk/TInt8Array.uts @@ -294,7 +294,8 @@ export class TInt8Array { } arrayBufferSlice() { - // #TEST ArrayBuffer.slice with Int8Array + + // #TEST ArrayBuffer.slice let buffer = new ArrayBuffer(16); let int8 = new Int8Array(buffer); int8[4] = 42; @@ -304,6 +305,7 @@ export class TInt8Array { let sliced = new Int8Array(res); expect(sliced[0]).toEqual(42); // #END + } // #endif diff --git a/uni_modules/uts-tests/utssdk/TUInt8Array.uts b/uni_modules/uts-tests/utssdk/TUInt8Array.uts index 0ebf126..a298d95 100644 --- a/uni_modules/uts-tests/utssdk/TUInt8Array.uts +++ b/uni_modules/uts-tests/utssdk/TUInt8Array.uts @@ -293,7 +293,8 @@ export class TUint8Array { } arrayBufferSlice() { - // #TEST ArrayBuffer.slice with Uint8Array + + // #TEST ArrayBuffer.slice let buffer = new ArrayBuffer(16); let uint8 = new Uint8Array(buffer); uint8[4] = 42; @@ -303,6 +304,7 @@ export class TUint8Array { let sliced = new Uint8Array(res); expect(sliced[0]).toEqual(42); // #END + } // #endif diff --git a/uni_modules/uts-tests/utssdk/TUInt8ClampedArray.uts b/uni_modules/uts-tests/utssdk/TUInt8ClampedArray.uts index 4b4ec79..4888019 100644 --- a/uni_modules/uts-tests/utssdk/TUInt8ClampedArray.uts +++ b/uni_modules/uts-tests/utssdk/TUInt8ClampedArray.uts @@ -291,7 +291,8 @@ export class TUint8ClampedArray { } arrayBufferSlice() { - // #TEST ArrayBuffer.slice with Uint8ClampedArray + + // #TEST ArrayBuffer.slice let buffer = new ArrayBuffer(16); let uint8Clamped = new Uint8ClampedArray(buffer); uint8Clamped[4] = 42; diff --git a/uni_modules/uts-tests/utssdk/TUint16Array.uts b/uni_modules/uts-tests/utssdk/TUint16Array.uts index d1a2855..4101401 100644 --- a/uni_modules/uts-tests/utssdk/TUint16Array.uts +++ b/uni_modules/uts-tests/utssdk/TUint16Array.uts @@ -305,6 +305,7 @@ export class TUint16Array { } arrayBufferSlice() { + // #TEST Uint16Array.arrayBufferSlice let buffer = new ArrayBuffer(16); let uint16 = new Uint16Array(buffer); @@ -315,6 +316,7 @@ export class TUint16Array { let sliced = new Uint16Array(res); expect(sliced[0]).toEqual(42); // #END + } // #endif diff --git a/uni_modules/uts-tests/utssdk/TUint32Array.uts b/uni_modules/uts-tests/utssdk/TUint32Array.uts index db080d1..0684088 100644 --- a/uni_modules/uts-tests/utssdk/TUint32Array.uts +++ b/uni_modules/uts-tests/utssdk/TUint32Array.uts @@ -299,6 +299,7 @@ export class TUint32Array { } arrayBufferSlice() { + // #TEST ArrayBuffer.slice let buffer = new ArrayBuffer(16); let uint32 = new Uint32Array(buffer); @@ -309,6 +310,7 @@ export class TUint32Array { let sliced = new Uint32Array(res); expect(sliced[1]).toEqual(42); // #END + } // #endif -- GitLab