Chromium Code Reviews| 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 { | 
| 
 
nyquist
2017/03/14 21:20:37
It seems like we are calling getContext() a few pl
 
mikecase (-- gone --)
2017/03/14 22:07:07
So for some info, in this commit they removed getC
 
nyquist
2017/03/14 22:17:30
Right; but it seems like they are attaching the co
 
 | 
| + @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 |