Merge "Fix ProviderTestCase2 broken by ag/519661:" into lmp-dev

This commit is contained in:
Akos Ludanyi
2014-09-05 16:28:04 +00:00
committed by Android (Google) Code Review
2 changed files with 19 additions and 11 deletions

View File

@@ -67,9 +67,8 @@ public abstract class ProviderTestCase<T extends ContentProvider>
filenamePrefix);
mProviderContext = new IsolatedContext(mResolver, targetContextWrapper);
mProvider = mProviderClass.newInstance();
mProvider.attachInfoForTesting(mProviderContext, null);
assertNotNull(mProvider);
mProvider = ProviderTestCase2.createProviderForTest(
mProviderContext, mProviderClass, mProviderAuthority);
mResolver.addProvider(mProviderAuthority, getProvider());
}
@@ -107,8 +106,7 @@ public abstract class ProviderTestCase<T extends ContentProvider>
resolver, targetContextWrapper);
DatabaseUtils.createDbFromSqlStatements(context, databaseName, databaseVersion, sql);
T provider = providerClass.newInstance();
provider.attachInfoForTesting(context, null);
T provider = ProviderTestCase2.createProviderForTest(context, providerClass, authority);
resolver.addProvider(authority, provider);
return resolver;

View File

@@ -19,6 +19,7 @@ package android.test;
import android.content.ContentProvider;
import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.ProviderInfo;
import android.content.res.Resources;
import android.test.mock.MockContext;
import android.test.mock.MockContentResolver;
@@ -138,13 +139,23 @@ public abstract class ProviderTestCase2<T extends ContentProvider> extends Andro
getContext(), // The context that file methods are delegated to
filenamePrefix);
mProviderContext = new IsolatedContext(mResolver, targetContextWrapper);
mProvider = mProviderClass.newInstance();
mProvider.attachInfoForTesting(mProviderContext, null);
assertNotNull(mProvider);
mProvider = createProviderForTest(mProviderContext, mProviderClass, mProviderAuthority);
mResolver.addProvider(mProviderAuthority, getProvider());
}
/**
* Creates and sets up a new instance of the provider.
*/
static <T extends ContentProvider> T createProviderForTest(
Context context, Class<T> providerClass, String authority)
throws IllegalAccessException, InstantiationException {
T instance = providerClass.newInstance();
ProviderInfo providerInfo = new ProviderInfo();
providerInfo.authority = authority;
instance.attachInfoForTesting(context, providerInfo);
return instance;
}
/**
* Tears down the environment for the test fixture.
* <p>
@@ -218,8 +229,7 @@ public abstract class ProviderTestCase2<T extends ContentProvider> extends Andro
Context context = new IsolatedContext(resolver, targetContextWrapper);
DatabaseUtils.createDbFromSqlStatements(context, databaseName, databaseVersion, sql);
T provider = providerClass.newInstance();
provider.attachInfoForTesting(context, null);
T provider = createProviderForTest(context, providerClass, authority);
resolver.addProvider(authority, provider);
return resolver;