| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser.provider; | 5 package org.chromium.chrome.browser.provider; |
| 6 | 6 |
| 7 import android.content.ContentProvider; | 7 import android.content.ContentProvider; |
| 8 import android.content.ContentResolver; | 8 import android.content.ContentResolver; |
| 9 import android.content.pm.ProviderInfo; | 9 import android.content.pm.ProviderInfo; |
| 10 import android.test.IsolatedContext; | 10 import android.test.IsolatedContext; |
| 11 import android.test.mock.MockContentResolver; | 11 import android.test.mock.MockContentResolver; |
| 12 | 12 |
| 13 import org.junit.Assert; |
| 14 import org.junit.runner.Description; |
| 15 import org.junit.runners.model.Statement; |
| 16 |
| 13 import org.chromium.base.ThreadUtils; | 17 import org.chromium.base.ThreadUtils; |
| 14 import org.chromium.chrome.browser.ChromeActivity; | 18 import org.chromium.chrome.browser.ChromeActivity; |
| 15 import org.chromium.chrome.test.ChromeActivityTestCaseBase; | 19 import org.chromium.chrome.test.ChromeActivityTestRule; |
| 16 | 20 |
| 17 /** | 21 /** |
| 18 * Base class for Chrome's ContentProvider tests. | 22 * Base class for Chrome's ContentProvider tests. |
| 19 * Sets up a local ChromeBrowserProvider associated to a mock resolver in an iso
lated context. | 23 * Sets up a local ChromeBrowserProvider associated to a mock resolver in an iso
lated context. |
| 20 */ | 24 */ |
| 21 public class ProviderTestBase extends ChromeActivityTestCaseBase<ChromeActivity>
{ | 25 public class ProviderTestRule extends ChromeActivityTestRule<ChromeActivity> { |
| 22 | |
| 23 private IsolatedContext mContext; | 26 private IsolatedContext mContext; |
| 24 | 27 |
| 25 public ProviderTestBase() { | 28 public ProviderTestRule() { |
| 26 super(ChromeActivity.class); | 29 super(ChromeActivity.class); |
| 27 } | 30 } |
| 28 | 31 |
| 29 @Override | 32 @Override |
| 30 public void startMainActivity() throws InterruptedException { | 33 public Statement apply(final Statement base, Description description) { |
| 31 startMainActivityOnBlankPage(); | 34 return super.apply(new Statement() { |
| 35 @Override |
| 36 public void evaluate() throws Throwable { |
| 37 setUp(); |
| 38 base.evaluate(); |
| 39 } |
| 40 }, description); |
| 32 } | 41 } |
| 33 | 42 |
| 34 @Override | 43 private void setUp() throws Exception { |
| 35 protected void setUp() throws Exception { | 44 startMainActivityOnBlankPage(); |
| 36 super.setUp(); | |
| 37 | 45 |
| 38 final ChromeActivity activity = getActivity(); | 46 final ChromeActivity activity = getActivity(); |
| 39 assertNotNull(activity); | 47 Assert.assertNotNull(activity); |
| 40 | 48 |
| 41 final ContentProvider provider = new ChromeBrowserProvider(); | 49 final ContentProvider provider = new ChromeBrowserProvider(); |
| 42 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | 50 ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
| 43 @Override | 51 @Override |
| 44 public void run() { | 52 public void run() { |
| 45 ProviderInfo providerInfo = new ProviderInfo(); | 53 ProviderInfo providerInfo = new ProviderInfo(); |
| 46 providerInfo.authority = ChromeBrowserProvider.getApiAuthority(a
ctivity); | 54 providerInfo.authority = ChromeBrowserProvider.getApiAuthority(a
ctivity); |
| 47 provider.attachInfo(activity, providerInfo); | 55 provider.attachInfo(activity, providerInfo); |
| 48 } | 56 } |
| 49 }); | 57 }); |
| 50 | 58 |
| 51 MockContentResolver resolver = new MockContentResolver(); | 59 MockContentResolver resolver = new MockContentResolver(); |
| 52 resolver.addProvider(ChromeBrowserProvider.getApiAuthority(activity), pr
ovider); | 60 resolver.addProvider(ChromeBrowserProvider.getApiAuthority(activity), pr
ovider); |
| 53 | 61 |
| 54 mContext = new IsolatedContext(resolver, activity); | 62 mContext = new IsolatedContext(resolver, activity); |
| 55 assertTrue(getContentResolver() instanceof MockContentResolver); | 63 Assert.assertTrue(getContentResolver() instanceof MockContentResolver); |
| 56 } | 64 } |
| 57 | 65 |
| 58 protected ContentResolver getContentResolver() { | 66 protected ContentResolver getContentResolver() { |
| 59 return mContext.getContentResolver(); | 67 return mContext.getContentResolver(); |
| 60 } | 68 } |
| 61 } | 69 } |
| OLD | NEW |