summaryrefslogtreecommitdiffstats
path: root/test/JniTest/JniTest.java
diff options
context:
space:
mode:
authorRicardo Cerqueira <cyanogenmod@cerqueira.org>2014-06-03 01:23:27 +0100
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2014-06-03 01:23:27 +0100
commit6ae6d126ba3b50d16b6ba61f39c3982a34a49eec (patch)
treef588c43e574217cd38777f8282314d250d9dbc6a /test/JniTest/JniTest.java
parent1ca6a11a61b57edea370adf4454876ccf869d92e (diff)
parentd5e4ac0abdeeb4dc13bd05a40bf496299a787536 (diff)
downloadandroid_art-shipping/cm-11.0.tar.gz
android_art-shipping/cm-11.0.tar.bz2
android_art-shipping/cm-11.0.zip
Android 4.4.3 release 1
Diffstat (limited to 'test/JniTest/JniTest.java')
-rw-r--r--test/JniTest/JniTest.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/JniTest/JniTest.java b/test/JniTest/JniTest.java
index 7014ef9334..9194da581f 100644
--- a/test/JniTest/JniTest.java
+++ b/test/JniTest/JniTest.java
@@ -14,15 +14,30 @@
* limitations under the License.
*/
+import java.lang.reflect.Method;
+
class JniTest {
public static void main(String[] args) {
System.loadLibrary("arttest");
testFindClassOnAttachedNativeThread();
+ testFindFieldOnAttachedNativeThread();
testCallStaticVoidMethodOnSubClass();
+ testGetMirandaMethod();
}
private static native void testFindClassOnAttachedNativeThread();
+ private static boolean testFindFieldOnAttachedNativeThreadField;
+
+ private static void testFindFieldOnAttachedNativeThread() {
+ testFindFieldOnAttachedNativeThreadNative();
+ if (!testFindFieldOnAttachedNativeThreadField) {
+ throw new AssertionError();
+ }
+ }
+
+ private static native void testFindFieldOnAttachedNativeThreadNative();
+
private static void testCallStaticVoidMethodOnSubClass() {
testCallStaticVoidMethodOnSubClassNative();
if (!testCallStaticVoidMethodOnSubClass_SuperClass.executed) {
@@ -42,4 +57,23 @@ class JniTest {
private static class testCallStaticVoidMethodOnSubClass_SubClass
extends testCallStaticVoidMethodOnSubClass_SuperClass {
}
+
+ private static native Method testGetMirandaMethodNative();
+
+ private static void testGetMirandaMethod() {
+ Method m = testGetMirandaMethodNative();
+ if (m.getDeclaringClass() != testGetMirandaMethod_MirandaInterface.class) {
+ throw new AssertionError();
+ }
+ }
+
+ private static abstract class testGetMirandaMethod_MirandaAbstract implements testGetMirandaMethod_MirandaInterface {
+ public boolean inAbstract() {
+ return true;
+ }
+ }
+
+ private static interface testGetMirandaMethod_MirandaInterface {
+ public boolean inInterface();
+ }
}