Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(742)

Unified Diff: base/android/jni_generator/jni_generator_tests.py

Issue 40523002: Android: fixes for JNI with javap for java7. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Mandatory Signature: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/android/jni_generator/jni_generator.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/android/jni_generator/jni_generator_tests.py
diff --git a/base/android/jni_generator/jni_generator_tests.py b/base/android/jni_generator/jni_generator_tests.py
index eaa3f7309e82ad45fe78ec380efbe4f2934c8d3d..bf78d9c8d5a303d6b17a7ac6e7de881fa97f3e2e 100755
--- a/base/android/jni_generator/jni_generator_tests.py
+++ b/base/android/jni_generator/jni_generator_tests.py
@@ -1583,6 +1583,7 @@ import org.chromium.base.BuildInfo;
public abstract class java.util.HashSet<T> extends java.util.AbstractSet<E>
implements java.util.Set<E>, java.lang.Cloneable, java.io.Serializable {
public void dummy();
+ Signature: ()V
}
"""
jni_from_javap = jni_generator.JNIFromJavaP(contents.split('\n'),
@@ -1632,10 +1633,7 @@ static void Java_HashSet_dummy(JNIEnv* env, jobject obj) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_HashSet_clazz,
"dummy",
-
-"("
-")"
-"V",
+"()V",
&g_HashSet_dummy);
env->CallVoidMethod(obj,
@@ -1658,20 +1656,55 @@ static bool RegisterNativesImpl(JNIEnv* env) {
"""
self.assertTextEquals(golden_content, jni_from_javap.GetContent())
+ def testSnippnetJavap6_7(self):
+ content_javap6 = """
+public class java.util.HashSet {
+public boolean add(java.lang.Object);
+ Signature: (Ljava/lang/Object;)Z
+}
+"""
+
+ content_javap7 = """
+public class java.util.HashSet {
+public boolean add(E);
+ Signature: (Ljava/lang/Object;)Z
+}
+"""
+ jni_from_javap6 = jni_generator.JNIFromJavaP(content_javap6.split('\n'),
+ TestOptions())
+ jni_from_javap7 = jni_generator.JNIFromJavaP(content_javap7.split('\n'),
+ TestOptions())
+ self.assertTrue(jni_from_javap6.GetContent())
+ self.assertTrue(jni_from_javap7.GetContent())
+ # Ensure the javap7 is correctly parsed and uses the Signature field rather
+ # than the "E" parameter.
+ self.assertTextEquals(jni_from_javap6.GetContent(),
+ jni_from_javap7.GetContent())
+
def testFromJavaP(self):
contents = """
-public abstract class java.io.InputStream extends java.lang.Object
- implements java.io.Closeable{
- public java.io.InputStream();
- public int available() throws java.io.IOException;
- public void close() throws java.io.IOException;
- public void mark(int);
- public boolean markSupported();
- public abstract int read() throws java.io.IOException;
- public int read(byte[]) throws java.io.IOException;
- public int read(byte[], int, int) throws java.io.IOException;
- public synchronized void reset() throws java.io.IOException;
- public long skip(long) throws java.io.IOException;
+public abstract class java.io.InputStream extends
+ java.lang.Object implements java.io.Closeable{
+public java.io.InputStream();
+ Signature: ()V
+public int available() throws java.io.IOException;
+ Signature: ()I
+public void close() throws java.io.IOException;
+ Signature: ()V
+public void mark(int);
+ Signature: (I)V
+public boolean markSupported();
+ Signature: ()Z
+public abstract int read() throws java.io.IOException;
+ Signature: ()I
+public int read(byte[]) throws java.io.IOException;
+ Signature: ([B)I
+public int read(byte[], int, int) throws java.io.IOException;
+ Signature: ([BII)I
+public synchronized void reset() throws java.io.IOException;
+ Signature: ()V
+public long skip(long) throws java.io.IOException;
+ Signature: (J)J
}
"""
jni_from_javap = jni_generator.JNIFromJavaP(contents.split('\n'),
@@ -1721,10 +1754,7 @@ static jint Java_InputStream_available(JNIEnv* env, jobject obj) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"available",
-
-"("
-")"
-"I",
+"()I",
&g_InputStream_available);
jint ret =
@@ -1745,10 +1775,7 @@ static void Java_InputStream_close(JNIEnv* env, jobject obj) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"close",
-
-"("
-")"
-"V",
+"()V",
&g_InputStream_close);
env->CallVoidMethod(obj,
@@ -1768,11 +1795,7 @@ static void Java_InputStream_mark(JNIEnv* env, jobject obj, jint p0) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"mark",
-
-"("
-"I"
-")"
-"V",
+"(I)V",
&g_InputStream_mark);
env->CallVoidMethod(obj,
@@ -1792,10 +1815,7 @@ static jboolean Java_InputStream_markSupported(JNIEnv* env, jobject obj) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"markSupported",
-
-"("
-")"
-"Z",
+"()Z",
&g_InputStream_markSupported);
jboolean ret =
@@ -1816,10 +1836,7 @@ static jint Java_InputStream_readI(JNIEnv* env, jobject obj) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"read",
-
-"("
-")"
-"I",
+"()I",
&g_InputStream_readI);
jint ret =
@@ -1840,11 +1857,7 @@ static jint Java_InputStream_readI_AB(JNIEnv* env, jobject obj, jbyteArray p0) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"read",
-
-"("
-"[B"
-")"
-"I",
+"([B)I",
&g_InputStream_readI_AB);
jint ret =
@@ -1870,13 +1883,7 @@ static jint Java_InputStream_readI_AB_I_I(JNIEnv* env, jobject obj, jbyteArray
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"read",
-
-"("
-"[B"
-"I"
-"I"
-")"
-"I",
+"([BII)I",
&g_InputStream_readI_AB_I_I);
jint ret =
@@ -1897,10 +1904,7 @@ static void Java_InputStream_reset(JNIEnv* env, jobject obj) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"reset",
-
-"("
-")"
-"V",
+"()V",
&g_InputStream_reset);
env->CallVoidMethod(obj,
@@ -1920,11 +1924,7 @@ static jlong Java_InputStream_skip(JNIEnv* env, jobject obj, jlong p0) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"skip",
-
-"("
-"J"
-")"
-"J",
+"(J)J",
&g_InputStream_skip);
jlong ret =
@@ -1945,10 +1945,7 @@ static ScopedJavaLocalRef<jobject> Java_InputStream_Constructor(JNIEnv* env) {
base::android::MethodID::TYPE_INSTANCE>(
env, g_InputStream_clazz,
"<init>",
-
-"("
-")"
-"V",
+"()V",
&g_InputStream_Constructor);
jobject ret =
« no previous file with comments | « base/android/jni_generator/jni_generator.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698