summaryrefslogtreecommitdiff
path: root/src/jni_compiler_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/jni_compiler_test.cc')
-rw-r--r--src/jni_compiler_test.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/jni_compiler_test.cc b/src/jni_compiler_test.cc
index 254fbdf079..3ef970ef47 100644
--- a/src/jni_compiler_test.cc
+++ b/src/jni_compiler_test.cc
@@ -447,4 +447,16 @@ TEST_F(JniCompilerTest, NativeStackTraceElement) {
EXPECT_EQ(55, result);
}
+jobject Java_MyClass_fooL(JNIEnv* env, jobject thisObj, jobject x) {
+ return env->NewGlobalRef(x);
+}
+
+TEST_F(JniCompilerTest, DecodeJObject) {
+ SetupForTest(false, "fooL", "(Ljava/lang/Object;)Ljava/lang/Object;",
+ reinterpret_cast<void*>(&Java_MyClass_fooL));
+ jobject result = env_->CallNonvirtualObjectMethod(jobj_, jklass_, jmethod_, jobj_);
+ EXPECT_EQ(JNILocalRefType, env_->GetObjectRefType(result));
+ EXPECT_TRUE(env_->IsSameObject(result, jobj_));
+}
+
} // namespace art