diff options
Diffstat (limited to 'tests/src/com/android/bookmarkstore/tests/utils/ProviderTestCase3.java')
-rw-r--r-- | tests/src/com/android/bookmarkstore/tests/utils/ProviderTestCase3.java | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/tests/src/com/android/bookmarkstore/tests/utils/ProviderTestCase3.java b/tests/src/com/android/bookmarkstore/tests/utils/ProviderTestCase3.java deleted file mode 100644 index f8eb161..0000000 --- a/tests/src/com/android/bookmarkstore/tests/utils/ProviderTestCase3.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.bookmarkprovider.tests.utils; - -import android.content.ContentProvider; -import android.content.Context; -import android.content.SharedPreferences; -import android.content.res.Resources; -import android.database.ContentObserver; -import android.net.Uri; -import android.test.AndroidTestCase; -import android.test.IsolatedContext; -import android.test.RenamingDelegatingContext; -import android.test.mock.MockContext; - -import java.io.File; - -import android.content.pm.ProviderInfo; - -/** - * Replacement for ProviderTestCase2 that keeps calls to ContentResolver.notifyChanged - * internal to observers registered with ProviderTestCase3.registerContentObserver - */ -public abstract class ProviderTestCase3<T extends ContentProvider> extends AndroidTestCase { - - public static final String FILENAME_PREFIX = "test."; - - private static final String BROWSER_AUTHORITIES = "com.android.browser;browser"; - - Class<T> mProviderClass; - String[] mProviderAuthority; - - private IsolatedContext mProviderContext; - private MockContentResolver2 mResolver; - - private class MockContext2 extends MockContext { - - @Override - public Resources getResources() { - return getContext().getResources(); - } - - @Override - public File getDir(String name, int mode) { - // name the directory so the directory will be separated from - // one created through the regular Context - return getContext().getDir("mockcontext2_" + name, mode); - } - - @Override - public String getPackageName() { - return getContext().getPackageName(); - } - - @Override - public SharedPreferences getSharedPreferences(String name, int mode) { - return getContext().getSharedPreferences("mockcontext2_" + name, mode); - } - - @Override - public Context getApplicationContext() { - return this; - } - - @Override - public Object getSystemService(String name) { - return null; - } - } - /** - * Constructor. - * - * @param providerClass The class name of the provider under test - * @param providerAuthorities The provider's authority string - */ - public ProviderTestCase3(Class<T> providerClass, String... providerAuthorities) { - mProviderClass = providerClass; - mProviderAuthority = providerAuthorities; - } - - private T mProvider; - - /** - * Returns the content provider created by this class in the {@link #setUp()} method. - * @return T An instance of the provider class given as a parameter to the test case class. - */ - public T getProvider() { - return mProvider; - } - - /** - * Sets up the environment for the test fixture. - * <p> - * Creates a new - * {@link com.android.bookmarkprovider.tests.utils.MockContentResolver2}, a new IsolatedContext - * that isolates the provider's file operations, and a new instance of - * the provider under test within the isolated environment. - * </p> - * - * @throws Exception - */ - @Override - protected void setUp() throws Exception { - super.setUp(); - - mResolver = new MockContentResolver2(); - RenamingDelegatingContext targetContextWrapper = new - RenamingDelegatingContext( - new MockContext2(), // The context that most methods are - //delegated to - getContext(), // The context that file methods are delegated to - FILENAME_PREFIX); - // The default IsolatedContext has a mock AccountManager that doesn't - // work for us, so override getSystemService to always return null - mProviderContext = new IsolatedContext(mResolver, targetContextWrapper) { - - @Override - public Object getSystemService(String name) { - return null; - } - }; - - mProvider = mProviderClass.newInstance(); - ProviderInfo info = new ProviderInfo(); - info.authority = BROWSER_AUTHORITIES; - mProvider.attachInfoForTesting(mProviderContext, info); - assertNotNull(mProvider); - for (String auth : mProviderAuthority) { - mResolver.addProvider(auth, getProvider()); - } - } - - /** - * Tears down the environment for the test fixture. - * <p> - * Calls {@link android.content.ContentProvider#shutdown()} on the - * {@link android.content.ContentProvider} represented by mProvider. - */ - @Override - protected void tearDown() throws Exception { - mProvider.shutdown(); - super.tearDown(); - } - - /** - * Gets the {@link MockContentResolver2} created by this class during initialization. You - * must use the methods of this resolver to access the provider under test. - * - * @return A {@link MockContentResolver2} instance. - */ - public MockContentResolver2 getMockContentResolver() { - return mResolver; - } - - /** - * Gets the {@link IsolatedContext} created by this class during initialization. - * @return The {@link IsolatedContext} instance - */ - public IsolatedContext getMockContext() { - return mProviderContext; - } - - public void registerContentObserver(Uri uri, boolean notifyForDescendents, - ContentObserver observer) { - mResolver.safeRegisterContentObserver(uri, notifyForDescendents, observer); - } - - public void unregisterContentObserver(ContentObserver observer) { - mResolver.safeUnregisterContentObserver(observer); - } - -} |