| 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..d8dbd6eb22771bcf3553670acf6a0ffb54ab4df5 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
|
| @@ -17,6 +17,7 @@ import static org.mockito.Mockito.when;
|
|
|
| import android.accounts.Account;
|
| import android.content.Context;
|
| +import android.content.pm.ProviderInfo;
|
|
|
| import org.junit.After;
|
| import org.junit.Before;
|
| @@ -26,6 +27,7 @@ import org.junit.runner.RunWith;
|
| import org.mockito.Mockito;
|
| import org.mockito.invocation.InvocationOnMock;
|
| import org.mockito.stubbing.Answer;
|
| +import org.robolectric.Robolectric;
|
| import org.robolectric.RuntimeEnvironment;
|
| import org.robolectric.annotation.Config;
|
|
|
| @@ -55,41 +57,50 @@ public class SupervisedUserContentProviderUnitTest {
|
|
|
| private static final String DEFAULT_CALLING_PACKAGE = "com.example.some.app";
|
|
|
| + // Override methods that wrap things that can't be mocked (including native calls).
|
| + private static class MySupervisedUserContentProvider extends SupervisedUserContentProvider {
|
| + @Override
|
| + void startForcedSigninProcessor(Context context, Runnable onComplete) {
|
| + ChromeSigninController.get(RuntimeEnvironment.application)
|
| + .setSignedInAccountName("Dummy");
|
| + onComplete.run();
|
| + }
|
| +
|
| + @Override
|
| + void listenForChildAccountStatusChange(Callback<Boolean> callback) {
|
| + callback.onResult(true);
|
| + }
|
| +
|
| + @Override
|
| + void nativeShouldProceed(long l, SupervisedUserQueryReply reply, String url) {
|
| + reply.onQueryComplete();
|
| + }
|
| +
|
| + @Override
|
| + void nativeRequestInsert(long l, SupervisedUserInsertReply reply, String url) {
|
| + reply.onInsertRequestSendComplete(true);
|
| + }
|
| +
|
| + @Override
|
| + long nativeCreateSupervisedUserContentProvider() {
|
| + return 5678L;
|
| + }
|
| + }
|
| +
|
| @Before
|
| public void setUp() {
|
| + ContextUtils.initApplicationContextForTests(RuntimeEnvironment.application);
|
| +
|
| // Ensure clean state (in particular not signed in).
|
| ContextUtils.getAppSharedPreferences().edit().clear().apply();
|
|
|
| - // Spy on the content provider so that we can watch its calls. Override methods that wrap
|
| - // things that can't be mocked (including native calls).
|
| - mSupervisedUserContentProvider = Mockito.spy(new SupervisedUserContentProvider() {
|
| - @Override
|
| - void startForcedSigninProcessor(Context context, Runnable onComplete) {
|
| - ChromeSigninController.get(RuntimeEnvironment.application)
|
| - .setSignedInAccountName("Dummy");
|
| - onComplete.run();
|
| - }
|
| -
|
| - @Override
|
| - void listenForChildAccountStatusChange(Callback<Boolean> callback) {
|
| - callback.onResult(true);
|
| - }
|
| -
|
| - @Override
|
| - void nativeShouldProceed(long l, SupervisedUserQueryReply reply, String url) {
|
| - reply.onQueryComplete();
|
| - }
|
| -
|
| - @Override
|
| - void nativeRequestInsert(long l, SupervisedUserInsertReply reply, String url) {
|
| - reply.onInsertRequestSendComplete(true);
|
| - }
|
| -
|
| - @Override
|
| - long nativeCreateSupervisedUserContentProvider() {
|
| - return 5678L;
|
| - }
|
| - });
|
| + // Spy on the content provider so that we can watch its calls.
|
| + ProviderInfo info = new ProviderInfo();
|
| + info.authority = "foo.bar.baz";
|
| + mSupervisedUserContentProvider =
|
| + Mockito.spy(Robolectric.buildContentProvider(MySupervisedUserContentProvider.class)
|
| + .create(info)
|
| + .get());
|
| }
|
|
|
| @After
|
|
|