Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes. Also replaced TestConfig with traditional robolectric.properties. Bug: 73173204 Bug: 73892008 Test: make -j56 RunSettingsRoboTests Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.settings.search;
|
||||
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
@@ -25,7 +24,6 @@ import android.content.Context;
|
||||
import android.provider.SearchIndexableResource;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
@@ -39,12 +37,10 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class BaseSearchIndexProviderTest {
|
||||
|
||||
private static final String TEST_PREF_KEY = "test_pref_key";
|
||||
@@ -64,9 +60,10 @@ public class BaseSearchIndexProviderTest {
|
||||
assertThat(mIndexProvider.getNonIndexableKeys(mContext)).isEmpty();
|
||||
}
|
||||
|
||||
public static class AvailablePreferenceController extends AbstractPreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
public AvailablePreferenceController(Context context) {
|
||||
public static class AvailablePreferenceController
|
||||
extends AbstractPreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
private AvailablePreferenceController(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@@ -100,7 +97,7 @@ public class BaseSearchIndexProviderTest {
|
||||
boolean enabled) {
|
||||
final SearchIndexableResource sir = new SearchIndexableResource(context);
|
||||
sir.xmlResId = R.xml.location_settings;
|
||||
return Arrays.asList(sir);
|
||||
return Collections.singletonList(sir);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -122,9 +119,11 @@ public class BaseSearchIndexProviderTest {
|
||||
assertThat(controllers).hasSize(3);
|
||||
}
|
||||
|
||||
public static class NotAvailablePreferenceController extends AbstractPreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
public NotAvailablePreferenceController(Context context) {
|
||||
public static class NotAvailablePreferenceController
|
||||
extends AbstractPreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
|
||||
private NotAvailablePreferenceController(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@@ -153,10 +152,10 @@ public class BaseSearchIndexProviderTest {
|
||||
final BaseSearchIndexProvider provider = new BaseSearchIndexProvider() {
|
||||
@Override
|
||||
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
|
||||
boolean enabled) {
|
||||
boolean enabled) {
|
||||
final SearchIndexableResource sir = new SearchIndexableResource(context);
|
||||
sir.xmlResId = R.xml.data_usage;
|
||||
return Arrays.asList(sir);
|
||||
return Collections.singletonList(sir);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -165,8 +164,8 @@ public class BaseSearchIndexProviderTest {
|
||||
}
|
||||
};
|
||||
|
||||
final List<String> nonIndexableKeys = provider
|
||||
.getNonIndexableKeys(RuntimeEnvironment.application);
|
||||
final List<String> nonIndexableKeys =
|
||||
provider.getNonIndexableKeys(RuntimeEnvironment.application);
|
||||
|
||||
assertThat(nonIndexableKeys).contains("status_header");
|
||||
}
|
||||
|
||||
@@ -30,9 +30,7 @@ import static org.mockito.Mockito.verify;
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ProviderInfo;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.database.Cursor;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
@@ -40,7 +38,6 @@ import android.os.Build;
|
||||
import android.provider.SearchIndexableData;
|
||||
import android.util.ArrayMap;
|
||||
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.search.indexing.PreIndexData;
|
||||
import com.android.settings.testutils.DatabaseTestUtils;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
@@ -65,12 +62,9 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(
|
||||
manifest = TestConfig.MANIFEST_PATH,
|
||||
sdk = TestConfig.SDK_VERSION,
|
||||
shadows = {ShadowRunnableAsyncTask.class,}
|
||||
)
|
||||
@Config(shadows = ShadowRunnableAsyncTask.class)
|
||||
public class DatabaseIndexingManagerTest {
|
||||
|
||||
private final String localeStr = "en_US";
|
||||
|
||||
private final int rank = 8;
|
||||
@@ -95,9 +89,6 @@ public class DatabaseIndexingManagerTest {
|
||||
private final int userId = -1;
|
||||
private final boolean enabled = true;
|
||||
|
||||
private final String AUTHORITY_ONE = "authority";
|
||||
private final String PACKAGE_ONE = "com.android.settings";
|
||||
|
||||
private final String TITLE_ONE = "title one";
|
||||
private final String TITLE_TWO = "title two";
|
||||
private final String KEY_ONE = "key one";
|
||||
@@ -170,8 +161,8 @@ public class DatabaseIndexingManagerTest {
|
||||
SearchIndexableRaw rawData = getFakeRaw();
|
||||
PreIndexData data = getPreIndexData(rawData);
|
||||
doReturn(data).when(mManager).getIndexDataFromProviders(anyList(), anyBoolean());
|
||||
doReturn(true).when(mManager).isFullIndex(any(Context.class), anyString(), anyString(),
|
||||
anyString());
|
||||
doReturn(true).when(mManager)
|
||||
.isFullIndex(any(Context.class), anyString(), anyString(), anyString());
|
||||
|
||||
mManager.performIndexing();
|
||||
|
||||
@@ -183,8 +174,8 @@ public class DatabaseIndexingManagerTest {
|
||||
// Initialize the Manager and force rebuild
|
||||
DatabaseIndexingManager manager =
|
||||
spy(new DatabaseIndexingManager(mContext));
|
||||
doReturn(false).when(mManager).isFullIndex(any(Context.class), anyString(), anyString(),
|
||||
anyString());
|
||||
doReturn(false).when(mManager)
|
||||
.isFullIndex(any(Context.class), anyString(), anyString(), anyString());
|
||||
|
||||
// Insert data point which will be dropped
|
||||
insertSpecialCase("Ceci n'est pas un pipe", true, "oui oui mon ami");
|
||||
@@ -202,8 +193,8 @@ public class DatabaseIndexingManagerTest {
|
||||
SearchIndexableRaw rawData = getFakeRaw();
|
||||
PreIndexData data = getPreIndexData(rawData);
|
||||
doReturn(data).when(mManager).getIndexDataFromProviders(anyList(), anyBoolean());
|
||||
doReturn(true).when(mManager).isFullIndex(any(Context.class), anyString(), anyString(),
|
||||
anyString());
|
||||
doReturn(true).when(mManager)
|
||||
.isFullIndex(any(Context.class), anyString(), anyString(), anyString());
|
||||
|
||||
mManager.performIndexing();
|
||||
|
||||
@@ -394,17 +385,4 @@ public class DatabaseIndexingManagerTest {
|
||||
data.dataToUpdate.add(fakeData);
|
||||
return data;
|
||||
}
|
||||
|
||||
private List<ResolveInfo> getDummyResolveInfo() {
|
||||
List<ResolveInfo> infoList = new ArrayList<>();
|
||||
ResolveInfo info = new ResolveInfo();
|
||||
info.providerInfo = new ProviderInfo();
|
||||
info.providerInfo.exported = true;
|
||||
info.providerInfo.authority = AUTHORITY_ONE;
|
||||
info.providerInfo.packageName = PACKAGE_ONE;
|
||||
info.providerInfo.applicationInfo = new ApplicationInfo();
|
||||
infoList.add(info);
|
||||
|
||||
return infoList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -29,12 +28,10 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class DatabaseIndexingUtilsTest {
|
||||
|
||||
private Context mContext;
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
package com.android.settings.search;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Parcel;
|
||||
import com.android.settings.TestConfig;
|
||||
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class InlineListPayloadTest {
|
||||
|
||||
private static final String DUMMY_SETTING = "inline_list_key";
|
||||
@@ -65,8 +64,7 @@ public class InlineListPayloadTest {
|
||||
parcel.writeInt(InlineSwitchPayload.TRUE);
|
||||
parcel.setDataPosition(0);
|
||||
|
||||
InlineListPayload payload = InlineListPayload
|
||||
.CREATOR.createFromParcel(parcel);
|
||||
InlineListPayload payload = InlineListPayload.CREATOR.createFromParcel(parcel);
|
||||
|
||||
final Intent builtIntent = payload.getIntent();
|
||||
assertThat(payload.getKey()).isEqualTo(uri);
|
||||
|
||||
@@ -1,28 +1,27 @@
|
||||
package com.android.settings.search;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Intent;
|
||||
import android.provider.Settings;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.search.ResultPayload.SettingsSource;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.settings.search.ResultPayload.SettingsSource;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class InlinePayloadTest {
|
||||
|
||||
private Context mContext;
|
||||
private static final String KEY = "key";
|
||||
|
||||
private final String KEY = "key";
|
||||
private Context mContext;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -106,9 +105,9 @@ public class InlinePayloadTest {
|
||||
true /* isDeviceSupported */);
|
||||
}
|
||||
|
||||
class ConcreteInlinePayload extends InlinePayload {
|
||||
private class ConcreteInlinePayload extends InlinePayload {
|
||||
|
||||
public ConcreteInlinePayload(String key, @SettingsSource int source, Intent intent,
|
||||
private ConcreteInlinePayload(String key, @SettingsSource int source, Intent intent,
|
||||
boolean isDeviceSupported) {
|
||||
super(key, source, intent, isDeviceSupported, 0 /* defaultValue */);
|
||||
}
|
||||
|
||||
@@ -17,27 +17,25 @@
|
||||
|
||||
package com.android.settings.search;
|
||||
|
||||
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Parcel;
|
||||
import android.provider.Settings;
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.search.ResultPayload.Availability;
|
||||
import com.android.settings.search.ResultPayload.SettingsSource;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class InlineSwitchPayloadTest {
|
||||
|
||||
private static final String DUMMY_SETTING = "inline_test";
|
||||
@@ -61,8 +59,8 @@ public class InlineSwitchPayloadTest {
|
||||
final Intent intent = new Intent();
|
||||
intent.putExtra(intentKey, intentVal);
|
||||
|
||||
InlineSwitchPayload payload = new InlineSwitchPayload(uri, source, 1, intent, true,
|
||||
1 /* default */);
|
||||
InlineSwitchPayload payload =
|
||||
new InlineSwitchPayload(uri, source, 1, intent, true, 1 /* default */);
|
||||
final Intent retainedIntent = payload.getIntent();
|
||||
assertThat(payload.getKey()).isEqualTo(uri);
|
||||
assertThat(payload.getType()).isEqualTo(type);
|
||||
|
||||
@@ -26,7 +26,6 @@ import android.util.AttributeSet;
|
||||
import android.util.Xml;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.core.PreferenceXmlParserUtils;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
@@ -49,7 +48,6 @@ import java.util.List;
|
||||
* with another preference with a matchin replacement attribute.
|
||||
*/
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class PreferenceXmlParserUtilTest {
|
||||
|
||||
private Context mContext;
|
||||
@@ -118,8 +116,8 @@ public class PreferenceXmlParserUtilTest {
|
||||
String entries = PreferenceXmlParserUtils.getDataEntries(mContext, attrs);
|
||||
String[] expEntries = mContext.getResources()
|
||||
.getStringArray(R.array.app_install_location_entries);
|
||||
for (int i = 0; i < expEntries.length; i++) {
|
||||
assertThat(entries).contains(expEntries[i]);
|
||||
for (String expEntry : expEntries) {
|
||||
assertThat(entries).contains(expEntry);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,8 +169,8 @@ public class PreferenceXmlParserUtilTest {
|
||||
@Config(qualifiers = "mcc999")
|
||||
public void extractMetadata_shouldContainKeyAndControllerName()
|
||||
throws IOException, XmlPullParserException {
|
||||
final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
|
||||
R.xml.location_settings);
|
||||
final List<Bundle> metadata =
|
||||
PreferenceXmlParserUtils.extractMetadata(mContext, R.xml.location_settings);
|
||||
|
||||
assertThat(metadata).isNotEmpty();
|
||||
for (Bundle bundle : metadata) {
|
||||
|
||||
@@ -17,25 +17,21 @@
|
||||
|
||||
package com.android.settings.search;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Parcel;
|
||||
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class ResultPayloadTest {
|
||||
private ResultPayload mPayload;
|
||||
|
||||
private final String EXTRA_KEY = "key";
|
||||
private final String EXTRA_VALUE = "value";
|
||||
private static final String EXTRA_KEY = "key";
|
||||
private static final String EXTRA_VALUE = "value";
|
||||
|
||||
@Test
|
||||
public void testParcelOrdering_StaysValid() {
|
||||
@@ -43,13 +39,13 @@ public class ResultPayloadTest {
|
||||
intent.putExtra(EXTRA_KEY, EXTRA_VALUE);
|
||||
Parcel parcel = Parcel.obtain();
|
||||
|
||||
mPayload = new ResultPayload(intent);
|
||||
mPayload.writeToParcel(parcel, 0);
|
||||
final ResultPayload payload = new ResultPayload(intent);
|
||||
payload.writeToParcel(parcel, 0);
|
||||
// Reset parcel for reading
|
||||
parcel.setDataPosition(0);
|
||||
ResultPayload newPayload = ResultPayload.CREATOR.createFromParcel(parcel);
|
||||
|
||||
String originalIntentExtra = mPayload.getIntent().getStringExtra(EXTRA_KEY);
|
||||
String originalIntentExtra = payload.getIntent().getStringExtra(EXTRA_KEY);
|
||||
String copiedIntentExtra = newPayload.getIntent().getStringExtra(EXTRA_KEY);
|
||||
assertThat(originalIntentExtra).isEqualTo(copiedIntentExtra);
|
||||
}
|
||||
|
||||
@@ -17,25 +17,24 @@
|
||||
|
||||
package com.android.settings.search;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static junit.framework.Assert.fail;
|
||||
|
||||
import android.content.Intent;
|
||||
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static junit.framework.Assert.fail;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class ResultPayloadUtilsTest {
|
||||
private ResultPayload payload;
|
||||
|
||||
private final String EXTRA_KEY = "key";
|
||||
private final String EXTRA_VALUE = "value";
|
||||
private static final String EXTRA_KEY = "key";
|
||||
private static final String EXTRA_VALUE = "value";
|
||||
|
||||
private ResultPayload payload;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -50,7 +49,7 @@ public class ResultPayloadUtilsTest {
|
||||
try {
|
||||
ResultPayloadUtils.unmarshall(badData, ResultPayload.CREATOR);
|
||||
fail("unmarshall should throw exception");
|
||||
} catch ( RuntimeException e) {
|
||||
} catch (RuntimeException e) {
|
||||
assertThat(e).isNotNull();
|
||||
}
|
||||
}
|
||||
@@ -65,12 +64,11 @@ public class ResultPayloadUtilsTest {
|
||||
@Test
|
||||
public void testUnmarshall_PreservedData() {
|
||||
byte[] marshalledPayload = ResultPayloadUtils.marshall(payload);
|
||||
ResultPayload newPayload = ResultPayloadUtils.unmarshall(marshalledPayload,
|
||||
ResultPayload.CREATOR);
|
||||
ResultPayload newPayload =
|
||||
ResultPayloadUtils.unmarshall(marshalledPayload, ResultPayload.CREATOR);
|
||||
|
||||
String originalIntentExtra = payload.getIntent().getStringExtra(EXTRA_KEY);
|
||||
String copiedIntentExtra = newPayload.getIntent().getStringExtra(EXTRA_KEY);
|
||||
assertThat(originalIntentExtra).isEqualTo(copiedIntentExtra);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -19,29 +19,22 @@ package com.android.settings.search;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.widget.Toolbar;
|
||||
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowSystemProperties;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.Shadows;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = {
|
||||
SettingsShadowSystemProperties.class
|
||||
})
|
||||
public class SearchFeatureProviderImplTest {
|
||||
|
||||
private SearchFeatureProviderImpl mProvider;
|
||||
@@ -49,16 +42,11 @@ public class SearchFeatureProviderImplTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
FakeFeatureFactory.setupForTest();
|
||||
mActivity = Robolectric.buildActivity(Activity.class).create().visible().get();
|
||||
mProvider = spy(new SearchFeatureProviderImpl());
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
SettingsShadowSystemProperties.clear();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void initSearchToolbar_shouldInitWithOnClickListener() {
|
||||
mProvider.initSearchToolbar(mActivity, null);
|
||||
@@ -69,7 +57,7 @@ public class SearchFeatureProviderImplTest {
|
||||
|
||||
toolbar.performClick();
|
||||
|
||||
final Intent launchIntent = shadowOf(mActivity).getNextStartedActivity();
|
||||
final Intent launchIntent = Shadows.shadowOf(mActivity).getNextStartedActivity();
|
||||
|
||||
assertThat(launchIntent.getAction())
|
||||
.isEqualTo("com.android.settings.action.SETTINGS_SEARCH");
|
||||
@@ -94,8 +82,8 @@ public class SearchFeatureProviderImplTest {
|
||||
|
||||
@Test
|
||||
public void verifyLaunchSearchResultPageCaller_settingsIntelligenceCaller_shouldNotCrash() {
|
||||
final ComponentName cn =
|
||||
new ComponentName(mProvider.getSettingsIntelligencePkgName(), "class");
|
||||
final String packageName = mProvider.getSettingsIntelligencePkgName();
|
||||
final ComponentName cn = new ComponentName(packageName, "class");
|
||||
mProvider.verifyLaunchSearchResultPageCaller(mActivity, cn);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,14 +19,13 @@ package com.android.settings.search;
|
||||
import static android.provider.SearchIndexablesContract.COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static junit.framework.Assert.fail;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.database.Cursor;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.wifi.WifiSettings;
|
||||
@@ -36,13 +35,11 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class SearchIndexableResourcesTest {
|
||||
|
||||
SearchFeatureProviderImpl mSearchProvider;
|
||||
private SearchFeatureProviderImpl mSearchProvider;
|
||||
private FakeFeatureFactory mFakeFeatureFactory;
|
||||
|
||||
@Before
|
||||
@@ -54,24 +51,22 @@ public class SearchIndexableResourcesTest {
|
||||
|
||||
@After
|
||||
public void cleanUp() {
|
||||
mFakeFeatureFactory.searchFeatureProvider = mock(
|
||||
SearchFeatureProvider.class);
|
||||
mFakeFeatureFactory.searchFeatureProvider = mock(SearchFeatureProvider.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddIndex() {
|
||||
final Class stringClass = java.lang.String.class;
|
||||
// Confirms that String.class isn't contained in SearchIndexableResources.
|
||||
assertThat(mSearchProvider.getSearchIndexableResources().getProviderValues())
|
||||
.doesNotContain(stringClass);
|
||||
.doesNotContain(String.class);
|
||||
final int beforeCount =
|
||||
mSearchProvider.getSearchIndexableResources().getProviderValues().size();
|
||||
|
||||
((SearchIndexableResourcesImpl) mSearchProvider.getSearchIndexableResources())
|
||||
.addIndex(java.lang.String.class);
|
||||
.addIndex(String.class);
|
||||
|
||||
assertThat(mSearchProvider.getSearchIndexableResources().getProviderValues())
|
||||
.contains(stringClass);
|
||||
.contains(String.class);
|
||||
final int afterCount =
|
||||
mSearchProvider.getSearchIndexableResources().getProviderValues().size();
|
||||
assertThat(afterCount).isEqualTo(beforeCount + 1);
|
||||
@@ -91,7 +86,7 @@ public class SearchIndexableResourcesTest {
|
||||
|
||||
SettingsSearchIndexablesProvider provider = spy(new SettingsSearchIndexablesProvider());
|
||||
|
||||
doReturn(RuntimeEnvironment.application).when(provider).getContext();
|
||||
when(provider.getContext()).thenReturn(RuntimeEnvironment.application);
|
||||
|
||||
Cursor cursor = provider.queryNonIndexableKeys(null);
|
||||
boolean hasTestKey = false;
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
package com.android.settings.search;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ProviderInfo;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.provider.SearchIndexablesContract;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.search.indexing.FakeSettingsFragment;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
@@ -26,40 +23,34 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class SettingsSearchIndexablesProviderTest {
|
||||
|
||||
private final String BASE_AUTHORITY = "com.android.settings";
|
||||
private static final String BASE_AUTHORITY = "com.android.settings";
|
||||
|
||||
private SettingsSearchIndexablesProvider mProvider;
|
||||
private SearchFeatureProvider mFeatureProvider;
|
||||
private FakeFeatureFactory mFakeFeatureFactory;
|
||||
Context mContext;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
|
||||
mProvider = spy(new SettingsSearchIndexablesProvider());
|
||||
ProviderInfo info = new ProviderInfo();
|
||||
info.exported = true;
|
||||
info.grantUriPermissions = true;
|
||||
info.authority = BASE_AUTHORITY;
|
||||
info.readPermission = Manifest.permission.READ_SEARCH_INDEXABLES;
|
||||
mProvider.attachInfo(mContext, info);
|
||||
mProvider.attachInfo(RuntimeEnvironment.application, info);
|
||||
|
||||
mFeatureProvider = new SearchFeatureProviderImpl();
|
||||
mFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
|
||||
mFeatureProvider.getSearchIndexableResources().getProviderValues()
|
||||
final SearchFeatureProvider featureProvider = new SearchFeatureProviderImpl();
|
||||
featureProvider.getSearchIndexableResources().getProviderValues().clear();
|
||||
featureProvider.getSearchIndexableResources().getProviderValues()
|
||||
.add(FakeSettingsFragment.class);
|
||||
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
mFakeFeatureFactory.searchFeatureProvider = mFeatureProvider;
|
||||
mFakeFeatureFactory.searchFeatureProvider = featureProvider;
|
||||
}
|
||||
|
||||
@After
|
||||
public void cleanUp() {
|
||||
mFakeFeatureFactory.searchFeatureProvider = mock(
|
||||
SearchFeatureProvider.class);
|
||||
mFakeFeatureFactory.searchFeatureProvider = mock(SearchFeatureProvider.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -108,7 +99,6 @@ public class SettingsSearchIndexablesProviderTest {
|
||||
public void testNonIndexablesColumnFetched() {
|
||||
Uri rawUri = Uri.parse("content://" + BASE_AUTHORITY + "/" +
|
||||
SearchIndexablesContract.NON_INDEXABLES_KEYS_PATH);
|
||||
//final ContentResolver resolver = mContext.getContentResolver();
|
||||
|
||||
final Cursor cursor = mProvider.query(rawUri,
|
||||
SearchIndexablesContract.NON_INDEXABLES_KEYS_COLUMNS, null, null, null);
|
||||
|
||||
@@ -26,7 +26,6 @@ import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settingslib.core.lifecycle.ObservableFragment;
|
||||
import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment;
|
||||
@@ -36,10 +35,8 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class SearchMenuControllerTest {
|
||||
|
||||
@Mock
|
||||
@@ -84,11 +81,9 @@ public class SearchMenuControllerTest {
|
||||
verifyZeroInteractions(mMenu);
|
||||
}
|
||||
|
||||
public static class TestPreferenceFragment extends ObservablePreferenceFragment {
|
||||
|
||||
private static class TestPreferenceFragment extends ObservablePreferenceFragment {
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.content.Context;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.search.ResultPayload;
|
||||
import com.android.settings.search.ResultPayloadUtils;
|
||||
@@ -46,10 +45,10 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.spy;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, qualifiers = "mcc999")
|
||||
@Config(qualifiers = "mcc999")
|
||||
public class IndexDataConverterTest {
|
||||
|
||||
private final String localeStr = "en_US";
|
||||
private static final String localeStr = "en_US";
|
||||
|
||||
private static final String title = "title\u2011title";
|
||||
private static final String updatedTitle = "title-title";
|
||||
@@ -72,7 +71,7 @@ public class IndexDataConverterTest {
|
||||
private static final boolean enabled = true;
|
||||
|
||||
// There are 6 entries in the fake display_settings.xml preference.
|
||||
private final int NUM_DISPLAY_ENTRIES = 6;
|
||||
private static final int NUM_DISPLAY_ENTRIES = 6;
|
||||
private static final String PAGE_TITLE = "page_title";
|
||||
private static final String TITLE_ONE = "pref_title_1";
|
||||
private static final String TITLE_TWO = "pref_title_2";
|
||||
@@ -81,14 +80,8 @@ public class IndexDataConverterTest {
|
||||
private static final String TITLE_FIVE = "pref_title_5";
|
||||
private static final String DISPLAY_SPACE_DELIM_KEYWORDS = "keywords1 keywords2 keywords3";
|
||||
|
||||
// There are 6 display entries from resources, and 1 raw.
|
||||
private static final int NUM_FAKE_FRAGMENT_ENTRIES = 7;
|
||||
private static final int NUM_ENABLED_FAKE_FRAGMENT_ENTRIES = 5;
|
||||
private static final String FAKE_CLASS_NAME =
|
||||
"com.android.settings.search.indexing.FakeSettingsFragment";
|
||||
|
||||
// There is a title and one preference.
|
||||
private final int NUM_LEGAL_SETTINGS = 2;
|
||||
private static final int NUM_LEGAL_SETTINGS = 2;
|
||||
|
||||
private Context mContext;
|
||||
|
||||
@@ -131,8 +124,8 @@ public class IndexDataConverterTest {
|
||||
assertThat(row.key).isEqualTo(key);
|
||||
assertThat(row.userId).isEqualTo(userId);
|
||||
assertThat(row.payloadType).isEqualTo(0);
|
||||
ResultPayload unmarshalledPayload = ResultPayloadUtils.unmarshall(row.payload,
|
||||
ResultPayload.CREATOR);
|
||||
ResultPayload unmarshalledPayload =
|
||||
ResultPayloadUtils.unmarshall(row.payload, ResultPayload.CREATOR);
|
||||
assertThat(unmarshalledPayload).isInstanceOf(ResultPayload.class);
|
||||
}
|
||||
|
||||
@@ -230,12 +223,10 @@ public class IndexDataConverterTest {
|
||||
List<IndexData> indexData = mConverter.convertPreIndexDataToIndexData(preIndexData);
|
||||
|
||||
String checkBoxSummaryOn = "summary_on";
|
||||
String checkBoxSummaryOff = "summary_off";
|
||||
String checkBoxKey = "pref_key_5";
|
||||
final IndexData row = findIndexDataForTitle(indexData, TITLE_FIVE);
|
||||
|
||||
assertDisplaySetting(row, TITLE_FIVE, checkBoxSummaryOn, checkBoxSummaryOff,
|
||||
checkBoxKey);
|
||||
assertDisplaySetting(row, TITLE_FIVE, checkBoxSummaryOn, checkBoxKey);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -250,7 +241,7 @@ public class IndexDataConverterTest {
|
||||
String listKey = "pref_key_4";
|
||||
final IndexData row = findIndexDataForTitle(indexData, TITLE_FOUR);
|
||||
|
||||
assertDisplaySetting(row, TITLE_FOUR, listSummary, "", listKey);
|
||||
assertDisplaySetting(row, TITLE_FOUR, listSummary, listKey);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -263,6 +254,7 @@ public class IndexDataConverterTest {
|
||||
|
||||
final IndexData row = findIndexDataForTitle(indexData, TITLE_THREE);
|
||||
|
||||
assertThat(row).isNotNull();
|
||||
assertThat(row.iconResId).isGreaterThan(0);
|
||||
}
|
||||
|
||||
@@ -279,6 +271,7 @@ public class IndexDataConverterTest {
|
||||
|
||||
assertThat(indexData.size()).isEqualTo(NUM_LEGAL_SETTINGS - 1);
|
||||
assertThat(numEnabled).isEqualTo(NUM_LEGAL_SETTINGS - 1);
|
||||
assertThat(nonTitlePref).isNotNull();
|
||||
assertThat(nonTitlePref.enabled).isTrue();
|
||||
}
|
||||
|
||||
@@ -293,8 +286,7 @@ public class IndexDataConverterTest {
|
||||
assertThat(indexData).isEmpty();
|
||||
}
|
||||
|
||||
private void assertDisplaySetting(IndexData row, String title, String summaryOn,
|
||||
String summaryOff, String key) {
|
||||
private void assertDisplaySetting(IndexData row, String title, String summaryOn, String key) {
|
||||
assertThat(row.normalizedTitle).isEqualTo(title);
|
||||
assertThat(row.locale).isEqualTo(localeStr);
|
||||
assertThat(row.updatedSummaryOn).isEqualTo(summaryOn);
|
||||
@@ -304,22 +296,11 @@ public class IndexDataConverterTest {
|
||||
assertThat(row.enabled).isEqualTo(true);
|
||||
assertThat(row.key).isEqualTo(key);
|
||||
assertThat(row.payloadType).isEqualTo(0);
|
||||
ResultPayload unmarshalledPayload = ResultPayloadUtils.unmarshall(row.payload,
|
||||
ResultPayload.CREATOR);
|
||||
ResultPayload unmarshalledPayload =
|
||||
ResultPayloadUtils.unmarshall(row.payload, ResultPayload.CREATOR);
|
||||
assertThat(unmarshalledPayload).isInstanceOf(ResultPayload.class);
|
||||
}
|
||||
|
||||
private void assertFakeFragment(IndexData row) {
|
||||
assertThat(row.normalizedTitle).isEqualTo(FakeSettingsFragment.TITLE);
|
||||
assertThat(row.updatedSummaryOn).isEqualTo(FakeSettingsFragment.SUMMARY_ON);
|
||||
assertThat(row.spaceDelimitedKeywords)
|
||||
.isEqualTo(FakeSettingsFragment.SPACE_KEYWORDS);
|
||||
assertThat(row.screenTitle).isEqualTo(FakeSettingsFragment.SCREEN_TITLE);
|
||||
assertThat(row.className).isEqualTo(FakeSettingsFragment.CLASS_NAME);
|
||||
assertThat(row.enabled).isEqualTo(FakeSettingsFragment.ENABLED);
|
||||
assertThat(row.key).isEqualTo(FakeSettingsFragment.KEY);
|
||||
}
|
||||
|
||||
private SearchIndexableRaw getFakeRaw() {
|
||||
return getFakeRaw(localeStr);
|
||||
}
|
||||
@@ -370,8 +351,7 @@ public class IndexDataConverterTest {
|
||||
|
||||
private static IndexData findIndexDataForTitle(List<IndexData> indexData,
|
||||
String indexDataTitle) {
|
||||
for (int i = 0; i < indexData.size(); i++) {
|
||||
IndexData row = indexData.get(i);
|
||||
for (IndexData row : indexData) {
|
||||
if (TextUtils.equals(row.updatedTitle, indexDataTitle)) {
|
||||
return row;
|
||||
}
|
||||
@@ -380,8 +360,7 @@ public class IndexDataConverterTest {
|
||||
}
|
||||
|
||||
private static IndexData findIndexDataForKey(List<IndexData> indexData, String indexDataKey) {
|
||||
for (int i = 0; i < indexData.size(); i++) {
|
||||
IndexData row = indexData.get(i);
|
||||
for (IndexData row : indexData) {
|
||||
if (TextUtils.equals(row.key, indexDataKey)) {
|
||||
return row;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.search.InlineSwitchPayload;
|
||||
import com.android.settings.search.ResultPayload;
|
||||
import com.android.settings.search.ResultPayloadUtils;
|
||||
@@ -33,11 +32,10 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class IndexDataTest {
|
||||
|
||||
private IndexData.Builder mBuilder;
|
||||
|
||||
private static final String LOCALE = "en_US";
|
||||
@@ -100,8 +98,8 @@ public class IndexDataTest {
|
||||
@Test
|
||||
public void testGenericIntent_addedToPayload() {
|
||||
final IndexData row = generateRow();
|
||||
final ResultPayload payload = ResultPayloadUtils.unmarshall(row.payload,
|
||||
ResultPayload.CREATOR);
|
||||
final ResultPayload payload =
|
||||
ResultPayloadUtils.unmarshall(row.payload, ResultPayload.CREATOR);
|
||||
final ComponentName name = payload.getIntent().getComponent();
|
||||
assertThat(name.getClassName()).isEqualTo(INTENT_TARGET_CLASS);
|
||||
assertThat(name.getPackageName()).isEqualTo(INTENT_TARGET_PACKAGE);
|
||||
@@ -114,8 +112,8 @@ public class IndexDataTest {
|
||||
1 /* onValue */, null /* intent */, true /* isDeviceSupported */, 1 /* default */);
|
||||
mBuilder.setPayload(payload);
|
||||
final IndexData row = generateRow();
|
||||
final InlineSwitchPayload unmarshalledPayload = ResultPayloadUtils
|
||||
.unmarshall(row.payload, InlineSwitchPayload.CREATOR);
|
||||
final InlineSwitchPayload unmarshalledPayload =
|
||||
ResultPayloadUtils.unmarshall(row.payload, InlineSwitchPayload.CREATOR);
|
||||
|
||||
assertThat(row.payloadType).isEqualTo(ResultPayload.PayloadType.INLINE_SWITCH);
|
||||
assertThat(unmarshalledPayload.getKey()).isEqualTo(URI);
|
||||
@@ -124,8 +122,8 @@ public class IndexDataTest {
|
||||
@Test
|
||||
public void testRowWithInlinePayload_intentAddedToInlinePayload() {
|
||||
final String URI = "test uri";
|
||||
final ComponentName component = new ComponentName(INTENT_TARGET_PACKAGE,
|
||||
INTENT_TARGET_CLASS);
|
||||
final ComponentName component =
|
||||
new ComponentName(INTENT_TARGET_PACKAGE, INTENT_TARGET_CLASS);
|
||||
final Intent intent = new Intent();
|
||||
intent.setComponent(component);
|
||||
|
||||
|
||||
@@ -17,54 +17,51 @@
|
||||
|
||||
package com.android.settings.search.indexing;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.ProviderInfo;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.net.Uri;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.ProviderInfo;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.net.Uri;
|
||||
import android.provider.SearchIndexableResource;
|
||||
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class PreIndexDataCollectorTest {
|
||||
|
||||
private final String AUTHORITY_ONE = "authority";
|
||||
private final String PACKAGE_ONE = "com.android.settings";
|
||||
private static final String AUTHORITY_ONE = "authority";
|
||||
private static final String PACKAGE_ONE = "com.android.settings";
|
||||
|
||||
@Mock
|
||||
ContentResolver mResolver;
|
||||
private ContentResolver mResolver;
|
||||
|
||||
Context mContext;
|
||||
private Context mContext;
|
||||
|
||||
PreIndexDataCollector mDataCollector;
|
||||
private PreIndexDataCollector mDataCollector;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
doReturn(mResolver).when(mContext).getContentResolver();
|
||||
//doReturn(mPackageManager).when(mContext).getPackageManager();
|
||||
|
||||
mDataCollector = spy(new PreIndexDataCollector(mContext));
|
||||
}
|
||||
@@ -78,8 +75,8 @@ public class PreIndexDataCollectorTest {
|
||||
doReturn(resources).when(mDataCollector).getIndexablesForXmlResourceUri(
|
||||
any(Context.class), anyString(), any(Uri.class), any(String[].class));
|
||||
|
||||
PreIndexData data = mDataCollector.collectIndexableData(providerInfo,
|
||||
true /* isFullIndex */);
|
||||
PreIndexData data =
|
||||
mDataCollector.collectIndexableData(providerInfo, true /* isFullIndex */);
|
||||
|
||||
assertThat(data.dataToUpdate).containsAllIn(resources);
|
||||
}
|
||||
@@ -94,8 +91,8 @@ public class PreIndexDataCollectorTest {
|
||||
anyString(), any(Uri.class), any(String[].class));
|
||||
|
||||
|
||||
PreIndexData data = mDataCollector.collectIndexableData(providerInfo,
|
||||
true /* isFullIndex */);
|
||||
PreIndexData data =
|
||||
mDataCollector.collectIndexableData(providerInfo, true /* isFullIndex */);
|
||||
|
||||
assertThat(data.dataToUpdate).containsAllIn(rawData);
|
||||
}
|
||||
@@ -107,8 +104,8 @@ public class PreIndexDataCollectorTest {
|
||||
|
||||
List<String> niks = getFakeNonIndexables();
|
||||
|
||||
doReturn(niks).when(mDataCollector).getNonIndexablesKeysFromRemoteProvider(anyString(),
|
||||
anyString());
|
||||
doReturn(niks).when(mDataCollector)
|
||||
.getNonIndexablesKeysFromRemoteProvider(anyString(), anyString());
|
||||
|
||||
PreIndexData data = mDataCollector.collectIndexableData(providerInfo,
|
||||
true /* isFullIndex */);
|
||||
|
||||
Reference in New Issue
Block a user