Index: chrome/android/javatests/src/org/chromium/chrome/browser/test/ProviderTestBase.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/test/ProviderTestBase.java b/chrome/android/javatests/src/org/chromium/chrome/browser/test/ProviderTestBase.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8fb1709ed0fced16bd927732aa600944ef575598 |
--- /dev/null |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/test/ProviderTestBase.java |
@@ -0,0 +1,44 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.testshell; |
+ |
+import android.content.ContentProvider; |
+import android.content.ContentResolver; |
+import android.test.IsolatedContext; |
+import android.test.mock.MockContentResolver; |
+ |
+import org.chromium.chrome.browser.ChromeBrowserProvider; |
+import org.chromium.chrome.testshell.ChromiumTestShellTestBase; |
+ |
+/** |
+ * Base class for Chrome's ContentProvider tests. |
+ * Sets up a local ChromeBrowserProvider associated to a mock resolver in an isolated context. |
+ */ |
+public class ProviderTestBase extends ChromiumTestShellTestBase { |
+ |
+ private IsolatedContext mContext; |
+ |
+ @Override |
+ protected void setUp() throws Exception { |
+ super.setUp(); |
+ |
+ ChromiumTestShellActivity activity = launchChromiumTestShellWithUrl(null); |
+ assertNotNull(activity); |
+ |
+ ContentProvider provider = new ChromeBrowserProvider(); |
+ provider.attachInfo(activity, null); |
+ |
+ MockContentResolver resolver = new MockContentResolver(); |
+ resolver.addProvider(ChromeBrowserProvider.getApiAuthority(activity), provider); |
+ resolver.addProvider(ChromeBrowserProvider.getInternalAuthority(activity), provider); |
+ |
+ mContext = new IsolatedContext(resolver, activity); |
+ assertTrue(getContentResolver() instanceof MockContentResolver); |
+ } |
+ |
+ protected ContentResolver getContentResolver() { |
+ return mContext.getContentResolver(); |
+ } |
+} |