| 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
|
|
|