Index: chrome/android/junit/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProviderUnitTest.java |
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProviderUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProviderUnitTest.java |
index bab8d55ffe0f81b183533584d87a44ef668acc19..df30f67f2f08eabc26effa24826316cb3fb0b2fd 100644 |
--- a/chrome/android/junit/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProviderUnitTest.java |
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProviderUnitTest.java |
@@ -16,6 +16,7 @@ import static org.mockito.Mockito.verify; |
import static org.mockito.Mockito.when; |
import android.accounts.Account; |
+import android.content.ContentProvider; |
import android.content.Context; |
import org.junit.After; |
@@ -28,6 +29,9 @@ import org.mockito.invocation.InvocationOnMock; |
import org.mockito.stubbing.Answer; |
import org.robolectric.RuntimeEnvironment; |
import org.robolectric.annotation.Config; |
+import org.robolectric.annotation.Implementation; |
+import org.robolectric.annotation.Implements; |
+import org.robolectric.shadows.ShadowContentProvider; |
import org.chromium.base.Callback; |
import org.chromium.base.ContextUtils; |
@@ -55,8 +59,21 @@ public class SupervisedUserContentProviderUnitTest { |
private static final String DEFAULT_CALLING_PACKAGE = "com.example.some.app"; |
+ /** |
+ * Robolectric ShadowContentProvider that implements getContext. |
+ */ |
+ @Implements(ContentProvider.class) |
+ public static class MyShadowContentProvider extends ShadowContentProvider { |
+ @Implementation |
+ public final Context getContext() { |
+ return RuntimeEnvironment.application; |
+ } |
+ } |
+ |
@Before |
public void setUp() { |
+ ContextUtils.initApplicationContextForTests(RuntimeEnvironment.application); |
+ |
// Ensure clean state (in particular not signed in). |
ContextUtils.getAppSharedPreferences().edit().clear().apply(); |
@@ -183,6 +200,7 @@ public class SupervisedUserContentProviderUnitTest { |
eq("url")); |
} |
+ @Config(shadows = MyShadowContentProvider.class) |
@Test |
public void testShouldProceed_withStartupSignedIn() throws ProcessInitException { |
// Set up a signed in user |
@@ -202,6 +220,7 @@ public class SupervisedUserContentProviderUnitTest { |
eq("url")); |
} |
+ @Config(shadows = MyShadowContentProvider.class) |
@SuppressWarnings("unchecked") |
@Test |
public void testShouldProceed_notSignedIn() throws ProcessInitException { |
@@ -229,6 +248,7 @@ public class SupervisedUserContentProviderUnitTest { |
eq("url")); |
} |
+ @Config(shadows = MyShadowContentProvider.class) |
@Test |
public void testShouldProceed_cannotSignIn() { |
// Mock things called during startup |