@Test public void testUseAccessedArrayBuffer_Int32Array() { V8TypedArray array = (V8TypedArray) v8.executeScript("\n" + "var buffer = new ArrayBuffer(8);" + "var array = new Int32Array(buffer);" + "array[0] = 1; array[1] = 7;" + "array;"); V8ArrayBuffer buffer = array.getBuffer(); assertEquals(1, buffer.getInt(0)); assertEquals(7, buffer.getInt(4)); buffer.close(); array.close(); }
@Test public void testCreateIntegerTypedArray() { V8ArrayBuffer buffer = new V8ArrayBuffer(v8, 8); V8TypedArray v8Int32Array = new V8TypedArray(v8, buffer, V8Value.INTEGER, 0, 2); v8Int32Array.add("0", 7); v8Int32Array.add("1", 8); assertEquals(7, buffer.getInt()); assertEquals(8, buffer.getInt()); buffer.close(); v8Int32Array.close(); }
@Test public void testUpdateInt32TypedArrayInJavaScript() { V8ArrayBuffer buffer = new V8ArrayBuffer(v8, 8); V8TypedArray v8Int32Array = new V8TypedArray(v8, buffer, V8Value.INTEGER, 0, 2); v8.add("v8Int32Array", v8Int32Array); v8.executeVoidScript("v8Int32Array[0] = 7; v8Int32Array[1] = 9;"); assertEquals(7, buffer.getInt()); assertEquals(9, buffer.getInt()); buffer.close(); v8Int32Array.close(); }
@Test public void testCreateUInt32TypedArray() { V8ArrayBuffer buffer = new V8ArrayBuffer(v8, 8); V8TypedArray typedArray = new V8TypedArray(v8, buffer, V8Value.UNSIGNED_INT_32_ARRAY, 0, 2); typedArray.add("0", 7); typedArray.add("1", 8); assertEquals(V8Value.UNSIGNED_INT_32_ARRAY, typedArray.getType()); assertEquals(7, buffer.getInt()); assertEquals(8, buffer.getInt()); buffer.close(); typedArray.close(); }
@Test public void testCreateInt32TypedArray() { V8ArrayBuffer buffer = new V8ArrayBuffer(v8, 8); V8TypedArray typedArray = new V8TypedArray(v8, buffer, V8Value.INT_32_ARRAY, 0, 2); typedArray.add("0", 7); typedArray.add("1", 8); assertEquals(V8Value.INT_32_ARRAY, typedArray.getType()); assertEquals(7, buffer.getInt()); assertEquals(8, buffer.getInt()); buffer.close(); typedArray.close(); }
@Test public void testGetTypedArrayType32BitValue_FromBackingStore() { V8ArrayBuffer buffer = new V8ArrayBuffer(v8, 4); v8.add("buf", buffer); v8.executeVoidScript("var ints = new Int32Array(buf); ints[0] = 255;"); assertEquals(255, buffer.getInt(0)); buffer.close(); }
@Test public void testAccessArrayBuffer_Int32ArrayView() { V8ArrayBuffer buffer = (V8ArrayBuffer) v8.executeScript("var buf = new ArrayBuffer(4); var ints = new Int32Array(buf); ints[0] = 7; buf"); assertEquals(1, buffer.intLimit()); assertEquals(7, buffer.getInt(0)); buffer.close(); }
@Test public void testGetTypedRangeArrayValue_FromBackingStore() { V8ArrayBuffer buffer = new V8ArrayBuffer(v8, 100); v8.add("buf", buffer); v8.executeVoidScript("var ints = new Int32Array(buf); for(var i = 0; i < 25; i++) {ints[i] = i;};"); assertEquals(25, buffer.intLimit()); for (int i = 0; i < buffer.intLimit(); i++) { assertEquals(i, buffer.getInt(i * 4)); } buffer.close(); }