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

Unified Diff: base/android/jni_android_unittest.cc

Issue 23835020: Android: cleanup jni_android to minimize external dependencies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Small fix for clang Created 7 years, 3 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
Index: base/android/jni_android_unittest.cc
diff --git a/base/android/jni_android_unittest.cc b/base/android/jni_android_unittest.cc
index 920b395659025c4784a774439237fb645bcb4831..dabd480072c5b28e504081b0d41dfbd70c072805 100644
--- a/base/android/jni_android_unittest.cc
+++ b/base/android/jni_android_unittest.cc
@@ -13,86 +13,6 @@ namespace android {
namespace {
-const char kJavaLangObject[] = "java/lang/Object";
-const char kGetClass[] = "getClass";
-const char kToString[] = "toString";
-const char kReturningJavaLangClass[] = "()Ljava/lang/Class;";
-const char kReturningJavaLangString[] = "()Ljava/lang/String;";
-
-const char* g_last_method;
-const char* g_last_jni_signature;
-jmethodID g_last_method_id;
-
-const JNINativeInterface* g_previous_functions;
-
-jmethodID GetMethodIDWrapper(JNIEnv* env, jclass clazz, const char* method,
- const char* jni_signature) {
- g_last_method = method;
- g_last_jni_signature = jni_signature;
- g_last_method_id = g_previous_functions->GetMethodID(env, clazz, method,
- jni_signature);
- return g_last_method_id;
-}
-
-} // namespace
-
-class JNIAndroidTest : public testing::Test {
- protected:
- virtual void SetUp() {
- JNIEnv* env = AttachCurrentThread();
- g_previous_functions = env->functions;
- hooked_functions = *g_previous_functions;
- env->functions = &hooked_functions;
- hooked_functions.GetMethodID = &GetMethodIDWrapper;
- }
-
- virtual void TearDown() {
- JNIEnv* env = AttachCurrentThread();
- env->functions = g_previous_functions;
- Reset();
- }
-
- void Reset() {
- g_last_method = 0;
- g_last_jni_signature = 0;
- g_last_method_id = NULL;
- }
- // Needed to cleanup the cached method map in the implementation between
- // runs (e.g. if using --gtest_repeat)
- base::ShadowingAtExitManager exit_manager;
- // From JellyBean release, the instance of this struct provided in JNIEnv is
- // read-only, so we deep copy it to allow individual functions to be hooked.
- JNINativeInterface hooked_functions;
-};
-
-TEST_F(JNIAndroidTest, GetMethodIDFromClassNameCaching) {
- JNIEnv* env = AttachCurrentThread();
-
- Reset();
- jmethodID id1 = GetMethodIDFromClassName(env, kJavaLangObject, kGetClass,
- kReturningJavaLangClass);
- EXPECT_STREQ(kGetClass, g_last_method);
- EXPECT_STREQ(kReturningJavaLangClass, g_last_jni_signature);
- EXPECT_EQ(g_last_method_id, id1);
-
- Reset();
- jmethodID id2 = GetMethodIDFromClassName(env, kJavaLangObject, kGetClass,
- kReturningJavaLangClass);
- EXPECT_STREQ(0, g_last_method);
- EXPECT_STREQ(0, g_last_jni_signature);
- EXPECT_EQ(NULL, g_last_method_id);
- EXPECT_EQ(id1, id2);
-
- Reset();
- jmethodID id3 = GetMethodIDFromClassName(env, kJavaLangObject, kToString,
- kReturningJavaLangString);
- EXPECT_STREQ(kToString, g_last_method);
- EXPECT_STREQ(kReturningJavaLangString, g_last_jni_signature);
- EXPECT_EQ(g_last_method_id, id3);
-}
-
-namespace {
-
base::subtle::AtomicWord g_atomic_id = 0;
int LazyMethodIDCall(JNIEnv* env, jclass clazz, int p) {
jmethodID id = base::android::MethodID::LazyGet<
« no previous file with comments | « base/android/jni_android.cc ('k') | components/web_contents_delegate_android/web_contents_delegate_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698