private void notifyReferenceCreated(final V8Value object) { for (ReferenceHandler referenceHandler : referenceHandlers) { referenceHandler.v8HandleCreated(object); } }
private void notifyReferenceDisposed(final V8Value object) { for (ReferenceHandler referenceHandler : referenceHandlers) { referenceHandler.v8HandleDisposed(object); } }
private void notifyReferenceCreated(final V8Value object) { for (ReferenceHandler referenceHandler : referenceHandlers) { referenceHandler.v8HandleCreated(object); } }
private void notifyReferenceDisposed(final V8Value object) { for (ReferenceHandler referenceHandler : referenceHandlers) { referenceHandler.v8HandleDisposed(object); } }
@Test public void testV8MultipleReferenceHandlers() { ReferenceHandler referenceHandler1 = mock(ReferenceHandler.class); ReferenceHandler referenceHandler2 = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler1); v8.addReferenceHandler(referenceHandler2); V8Object object = new V8Object(v8); verify(referenceHandler1, times(1)).v8HandleCreated(object); verify(referenceHandler2, times(1)).v8HandleCreated(object); object.close(); }
@Test public void testV8HandleDisposed() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); V8Object object = new V8Object(v8); object.close(); verify(referenceHandler, times(1)).v8HandleDisposed(any(V8Object.class)); // Can't test the actual one because it's disposed }
@Test public void testV8HandleCreated_V8TypedArray() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); V8ArrayBuffer buffer = new V8ArrayBuffer(v8, 100); V8TypedArray object = new V8TypedArray(v8, buffer, V8Value.INT_16_ARRAY, 0, 50); verify(referenceHandler, times(1)).v8HandleCreated(buffer); verify(referenceHandler, times(1)).v8HandleCreated(object); buffer.close(); object.close(); }
private void notifyReferenceDisposed(final V8Value object) { for (ReferenceHandler referenceHandler : referenceHandlers) { referenceHandler.v8HandleDisposed(object); } }
@Test public void testV8HandleCreated_AccessedArray() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); V8Array object = (V8Array) v8.executeScript("[1,2,3];"); verify(referenceHandler, times(1)).v8HandleCreated(object); object.close(); }
private void notifyReferenceDisposed(final V8Value object) { for (ReferenceHandler referenceHandler : referenceHandlers) { referenceHandler.v8HandleDisposed(object); } }
@Test public void testV8HandleCreated_AccessedObject() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); V8Object object = v8.executeObjectScript("foo = {}; foo;"); verify(referenceHandler, times(1)).v8HandleCreated(object); object.close(); }
@Test public void testV8HandleCreated_V8Object() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); V8Object object = new V8Object(v8); verify(referenceHandler, times(1)).v8HandleCreated(object); object.close(); }
@Test public void testV8HandleCreated_V8ArrayBuffer() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); V8ArrayBuffer object = new V8ArrayBuffer(v8, 100); verify(referenceHandler, times(1)).v8HandleCreated(object); object.close(); }
@Test public void testV8HandleCreated_V8Array() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); V8Array object = new V8Array(v8); verify(referenceHandler, times(1)).v8HandleCreated(object); object.close(); }
@Test public void testV8HandleCreated_V8Function() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); V8Function object = new V8Function(v8); verify(referenceHandler, times(1)).v8HandleCreated(object); object.close(); }
@Test public void testV8UnknownReferenceHandleRemoved() { ReferenceHandler referenceHandler1 = mock(ReferenceHandler.class); ReferenceHandler referenceHandler2 = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler1); v8.removeReferenceHandler(referenceHandler2); V8Object object = new V8Object(v8); verify(referenceHandler1, times(1)).v8HandleCreated(object); object.close(); }
@SuppressWarnings("resource") @Test public void testV8ArrayHandlerExceptionDuringCreation() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); doThrow(new RuntimeException()).when(referenceHandler).v8HandleCreated(any(V8Object.class)); v8.addReferenceHandler(referenceHandler); try { new V8Array(v8); } catch (Exception e) { assertEquals(0, v8.getObjectReferenceCount()); return; } fail("Exception should have been caught."); }
@Test public void testV8ReferenceHandleRemoved() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); v8.addReferenceHandler(referenceHandler); v8.removeReferenceHandler(referenceHandler); V8Object object = new V8Object(v8); verify(referenceHandler, never()).v8HandleCreated(object); object.close(); }
@SuppressWarnings("resource") @Test public void testV8ObjectHandlerExceptionDuringCreation() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); doThrow(new RuntimeException()).when(referenceHandler).v8HandleCreated(any(V8Object.class)); v8.addReferenceHandler(referenceHandler); try { new V8Object(v8); } catch (Exception e) { assertEquals(0, v8.getObjectReferenceCount()); return; } fail("Exception should have been caught."); }
@SuppressWarnings("resource") @Test public void testV8ArrayBufferHandlerExceptionDuringCreation() { ReferenceHandler referenceHandler = mock(ReferenceHandler.class); doThrow(new RuntimeException()).when(referenceHandler).v8HandleCreated(any(V8Value.class)); v8.addReferenceHandler(referenceHandler); try { new V8ArrayBuffer(v8, 100); } catch (Exception e) { assertEquals(0, v8.getObjectReferenceCount()); return; } fail("Exception should have been caught."); }