Testing the decoding of JObject.

Change-Id: Ie539275592fbb7b648f9ce5e4a619aecc576768c
diff --git a/src/jni_compiler_test.cc b/src/jni_compiler_test.cc
index 254fbdf..3ef970e 100644
--- a/src/jni_compiler_test.cc
+++ b/src/jni_compiler_test.cc
@@ -447,4 +447,16 @@
   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
diff --git a/test/MyClassNatives/MyClassNatives.java b/test/MyClassNatives/MyClassNatives.java
index 0716bfa..f8b81d4 100644
--- a/test/MyClassNatives/MyClassNatives.java
+++ b/test/MyClassNatives/MyClassNatives.java
@@ -5,6 +5,7 @@
     native void foo();
     native int fooI(int x);
     native int fooII(int x, int y);
+    native Object fooL(Object x);
     native double fooDD(double x, double y);
     native Object fooIOO(int x, Object y, Object z);
     static native Object fooSIOO(int x, Object y, Object z);