Index: base/android/javatests/src/org/chromium/base/AdvancedMockContextTest.java |
diff --git a/base/android/javatests/src/org/chromium/base/AdvancedMockContextTest.java b/base/android/javatests/src/org/chromium/base/AdvancedMockContextTest.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d7c103b95beab920ae975db746d8f33b46d5ef57 |
--- /dev/null |
+++ b/base/android/javatests/src/org/chromium/base/AdvancedMockContextTest.java |
@@ -0,0 +1,68 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.base; |
+ |
+import android.app.Application; |
+import android.content.ComponentCallbacks; |
+import android.content.ComponentCallbacks2; |
+import android.content.Context; |
+import android.content.res.Configuration; |
+import android.test.InstrumentationTestCase; |
+ |
+import org.chromium.base.test.util.AdvancedMockContext; |
+ |
+/** |
+ * Tests for {@link org.chromium.base.test.util.AdvancedMockContext}. |
+ */ |
+public class AdvancedMockContextTest extends InstrumentationTestCase { |
+ private static class Callback1 implements ComponentCallbacks { |
+ protected Configuration mConfiguration; |
+ protected boolean mOnLowMemoryCalled; |
+ |
+ @Override |
+ public void onConfigurationChanged(Configuration configuration) { |
+ mConfiguration = configuration; |
+ } |
+ |
+ @Override |
+ public void onLowMemory() { |
+ mOnLowMemoryCalled = true; |
+ } |
+ } |
+ |
+ private static class Callback2 extends Callback1 implements ComponentCallbacks2 { |
+ private int mLevel; |
+ |
+ @Override |
+ public void onTrimMemory(int level) { |
+ mLevel = level; |
+ } |
+ } |
+ |
+ public void testComponentCallbacksForTargetContext() { |
+ Context targetContext = getInstrumentation().getTargetContext(); |
+ Application targetApplication = (Application) targetContext.getApplicationContext(); |
+ AdvancedMockContext context = new AdvancedMockContext(targetContext); |
+ Callback1 callback1 = new Callback1(); |
+ Callback2 callback2 = new Callback2(); |
+ context.registerComponentCallbacks(callback1); |
+ context.registerComponentCallbacks(callback2); |
+ |
+ targetApplication.onLowMemory(); |
+ assertTrue("onLowMemory should have been called.", callback1.mOnLowMemoryCalled); |
+ assertTrue("onLowMemory should have been called.", callback2.mOnLowMemoryCalled); |
+ |
+ Configuration configuration = new Configuration(); |
+ targetApplication.onConfigurationChanged(configuration); |
+ assertEquals("onConfigurationChanged should have been called.", configuration, |
+ callback1.mConfiguration); |
+ assertEquals("onConfigurationChanged should have been called.", configuration, |
+ callback2.mConfiguration); |
+ |
+ targetApplication.onTrimMemory(ComponentCallbacks2.TRIM_MEMORY_MODERATE); |
+ assertEquals("onTrimMemory should have been called.", ComponentCallbacks2 |
+ .TRIM_MEMORY_MODERATE, callback2.mLevel); |
+ } |
+} |