Make the new exception code work with -nogenerateJsInteropExports. Change-Id: Ib91c9ec7e8ff5d7faedde5352a7b8bcca0269968
diff --git a/user/test/com/google/gwt/emultest/java/lang/NullPointerExceptionTest.java b/user/test/com/google/gwt/emultest/java/lang/NullPointerExceptionTest.java index db0baaf..a72dcc2 100644 --- a/user/test/com/google/gwt/emultest/java/lang/NullPointerExceptionTest.java +++ b/user/test/com/google/gwt/emultest/java/lang/NullPointerExceptionTest.java
@@ -20,7 +20,7 @@ import com.google.gwt.junit.Platform; import com.google.gwt.junit.client.GWTTestCase; -import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsFunction; /** * Unit tests for the GWT emulation of java.lang.NullPointerException class. @@ -34,23 +34,29 @@ @DoNotRunWith(Platform.Devel) public void testBackingJsObject() { - Object caughtNative = catchNpeInNative(); + Object caughtNative = catchNpeInNative(new Callback() { + @Override + public void call() { + throw new NullPointerException("<my msg>"); + } + }); + assertTrue(caughtNative instanceof JavaScriptObject); assertTrue(caughtNative.toString().startsWith("TypeError:")); assertTrue(caughtNative.toString().contains("<my msg>")); assertTrue(caughtNative.toString().contains(NullPointerException.class.getName())); } - private native Object catchNpeInNative() /*-{ + @JsFunction + interface Callback { + void call(); + } + + private native Object catchNpeInNative(Callback cb) /*-{ try { - this.throwJavaNpe(); + cb(); } catch (e) { return e; } }-*/; - - @JsMethod - private void throwJavaNpe() { - throw new NullPointerException("<my msg>"); - } }