Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit acd9ec05 authored by Akos Ludanyi's avatar Akos Ludanyi Committed by Android (Google) Code Review
Browse files

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

parents c69bfe24 9189c4c2
Loading
Loading
Loading
Loading
+3 −5
Original line number Original line Diff line number Diff line
@@ -67,9 +67,8 @@ public abstract class ProviderTestCase<T extends ContentProvider>
                filenamePrefix);
                filenamePrefix);
        mProviderContext = new IsolatedContext(mResolver, targetContextWrapper);
        mProviderContext = new IsolatedContext(mResolver, targetContextWrapper);


        mProvider = mProviderClass.newInstance();
        mProvider = ProviderTestCase2.createProviderForTest(
        mProvider.attachInfoForTesting(mProviderContext, null);
                mProviderContext, mProviderClass, mProviderAuthority);
        assertNotNull(mProvider);
        mResolver.addProvider(mProviderAuthority, getProvider());
        mResolver.addProvider(mProviderAuthority, getProvider());
    }
    }


@@ -107,8 +106,7 @@ public abstract class ProviderTestCase<T extends ContentProvider>
                resolver, targetContextWrapper);
                resolver, targetContextWrapper);
        DatabaseUtils.createDbFromSqlStatements(context, databaseName, databaseVersion, sql);
        DatabaseUtils.createDbFromSqlStatements(context, databaseName, databaseVersion, sql);


        T provider = providerClass.newInstance();
        T provider = ProviderTestCase2.createProviderForTest(context, providerClass, authority);
        provider.attachInfoForTesting(context, null);
        resolver.addProvider(authority, provider);
        resolver.addProvider(authority, provider);


        return resolver;
        return resolver;
+16 −6
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ package android.test;
import android.content.ContentProvider;
import android.content.ContentProvider;
import android.content.ContentResolver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Context;
import android.content.pm.ProviderInfo;
import android.content.res.Resources;
import android.content.res.Resources;
import android.test.mock.MockContext;
import android.test.mock.MockContext;
import android.test.mock.MockContentResolver;
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
                getContext(), // The context that file methods are delegated to
                filenamePrefix);
                filenamePrefix);
        mProviderContext = new IsolatedContext(mResolver, targetContextWrapper);
        mProviderContext = new IsolatedContext(mResolver, targetContextWrapper);

        mProvider = createProviderForTest(mProviderContext, mProviderClass, mProviderAuthority);
        mProvider = mProviderClass.newInstance();
        mProvider.attachInfoForTesting(mProviderContext, null);
        assertNotNull(mProvider);
        mResolver.addProvider(mProviderAuthority, getProvider());
        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.
     * Tears down the environment for the test fixture.
     * <p>
     * <p>
@@ -218,8 +229,7 @@ public abstract class ProviderTestCase2<T extends ContentProvider> extends Andro
        Context context = new IsolatedContext(resolver, targetContextWrapper);
        Context context = new IsolatedContext(resolver, targetContextWrapper);
        DatabaseUtils.createDbFromSqlStatements(context, databaseName, databaseVersion, sql);
        DatabaseUtils.createDbFromSqlStatements(context, databaseName, databaseVersion, sql);


        T provider = providerClass.newInstance();
        T provider = createProviderForTest(context, providerClass, authority);
        provider.attachInfoForTesting(context, null);
        resolver.addProvider(authority, provider);
        resolver.addProvider(authority, provider);


        return resolver;
        return resolver;