diff options
Diffstat (limited to 'tests/src/com/android/providers')
9 files changed, 140 insertions, 274 deletions
diff --git a/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java b/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java index e8920530..9f433987 100644 --- a/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java +++ b/tests/src/com/android/providers/contacts/BaseContactsProvider2Test.java @@ -55,11 +55,13 @@ import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.Settings; import android.provider.ContactsContract.StatusUpdates; import android.provider.ContactsContract.StreamItems; -import android.provider.VoicemailContract; import android.telephony.SubscriptionManager; import android.test.MoreAsserts; import android.test.mock.MockContentResolver; import android.util.Log; + +import androidx.test.platform.app.InstrumentationRegistry; + import com.android.providers.contacts.ContactsDatabaseHelper.AccountsColumns; import com.android.providers.contacts.ContactsDatabaseHelper.Tables; import com.android.providers.contacts.testutil.CommonDatabaseUtils; @@ -68,23 +70,23 @@ import com.android.providers.contacts.testutil.RawContactUtil; import com.android.providers.contacts.testutil.TestUtil; import com.android.providers.contacts.util.Hex; import com.android.providers.contacts.util.MockClock; + import com.google.android.collect.Sets; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.BitSet; import java.util.Comparator; -import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - /** * A common superclass for {@link ContactsProvider2}-related tests. */ @@ -103,6 +105,7 @@ public abstract class BaseContactsProvider2Test extends PhotoLoadingTestCase { static final String WRITE_VOICEMAIL_PERMISSION = "com.android.voicemail.permission.WRITE_VOICEMAIL"; + protected Context mContext; protected static final String PACKAGE = "ContactsProvider2Test"; public static final String READ_ONLY_ACCOUNT_TYPE = SynchronousContactsProvider2.READ_ONLY_ACCOUNT_TYPE; @@ -136,9 +139,11 @@ public abstract class BaseContactsProvider2Test extends PhotoLoadingTestCase { @Override protected void setUp() throws Exception { super.setUp(); + mContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + MockitoAnnotations.initMocks(this); - mTestContext = new ContextWithServiceOverrides(getContext()); + mTestContext = new ContextWithServiceOverrides(mContext); mTestContext.injectSystemService(SubscriptionManager.class, mSubscriptionManager); mActor = new ContactsActor( diff --git a/tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java b/tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java index 6122ff05..eed6a848 100644 --- a/tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java +++ b/tests/src/com/android/providers/contacts/CallLogInsertionHelperTest.java @@ -28,8 +28,8 @@ public class CallLogInsertionHelperTest extends FixedAndroidTestCase { * The default insertion helper under test. */ private CallLogInsertionHelper mInsertionHelper = - DefaultCallLogInsertionHelper.getInstance(this.getContext()); - + DefaultCallLogInsertionHelper.getTestInstance( + this.getTestContext(), new MockCountryMonitor(this.getTestContext())); /** * Tests cases where valid, normalizable phone numbers are provided. */ @@ -66,7 +66,6 @@ public class CallLogInsertionHelperTest extends FixedAndroidTestCase { ContentValues values = new ContentValues(); values.put(Calls.NUMBER, number); mInsertionHelper.addComputedValues(values); - assertEquals(expectedNormalized, values.getAsString(Calls.CACHED_NORMALIZED_NUMBER)); } } diff --git a/tests/src/com/android/providers/contacts/ContactDirectoryManagerTest.java b/tests/src/com/android/providers/contacts/ContactDirectoryManagerTest.java index a4165ce5..e2434960 100644 --- a/tests/src/com/android/providers/contacts/ContactDirectoryManagerTest.java +++ b/tests/src/com/android/providers/contacts/ContactDirectoryManagerTest.java @@ -16,9 +16,12 @@ package com.android.providers.contacts; +import static android.content.pm.Flags.FLAG_STAY_STOPPED; + import android.accounts.Account; import android.content.ContentValues; import android.content.Context; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; @@ -27,21 +30,29 @@ import android.database.Cursor; import android.database.MatrixCursor; import android.net.Uri; import android.os.Bundle; +import android.platform.test.annotations.RequiresFlagsEnabled; +import android.platform.test.flag.junit.CheckFlagsRule; +import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.provider.ContactsContract; import android.provider.ContactsContract.AggregationExceptions; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Directory; import android.provider.ContactsContract.RawContacts; import android.test.mock.MockContentProvider; -import android.test.suitebuilder.annotation.MediumTest; import android.util.Log; import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.runner.AndroidJUnit4; import com.android.providers.contacts.ContactsDatabaseHelper.AggregationExceptionColumns; import com.google.android.collect.Lists; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + import java.util.Arrays; import java.util.Set; @@ -52,8 +63,11 @@ import java.util.Set; -w com.android.providers.contacts.tests/android.test.InstrumentationTestRunner * */ -@MediumTest +@RunWith(AndroidJUnit4.class) public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { + + @Rule + public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); private static final String TAG = "ContactDirectoryManagerTest"; private ContactsMockPackageManager mPackageManager; @@ -114,8 +128,10 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { } } + @Before @Override public void setUp() throws Exception { + super.setUp(); mProvider = (ContactsProvider2) getProvider(); @@ -129,9 +145,10 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { protected String getContextPackageName() { // In this test, we need to use the real package name, because that'll be recorded in the // directory table, and if it's wrong, the tests would get confused. - return getContext().getPackageName(); + return mContext.getPackageName(); } + @Test public void testIsDirectoryProvider() { ProviderInfo provider = new ProviderInfo(); @@ -158,6 +175,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { assertTrue(ContactDirectoryManager.isDirectoryProvider(provider)); } + @Test public void testScanAllProviders() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList( @@ -209,13 +227,13 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { Directory.SHORTCUT_SUPPORT_FULL, Directory.PHOTO_SUPPORT_FULL); assertTrue(cursor.moveToPosition(3)); - assertDirectoryRow(cursor, getContext().getPackageName(), + assertDirectoryRow(cursor, mContext.getPackageName(), "com.android.contacts", null, null, null, -1 /* =any */, Directory.EXPORT_SUPPORT_NONE, Directory.SHORTCUT_SUPPORT_FULL, Directory.PHOTO_SUPPORT_FULL); assertTrue(cursor.moveToPosition(4)); - assertDirectoryRow(cursor, getContext().getPackageName(), + assertDirectoryRow(cursor, mContext.getPackageName(), "com.android.contacts", null, null, null, -1 /* =any */, Directory.EXPORT_SUPPORT_NONE, Directory.SHORTCUT_SUPPORT_FULL, Directory.PHOTO_SUPPORT_FULL); @@ -223,6 +241,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { cursor.close(); } + @Test public void testScanAllProviders_scanCondition() throws Exception { testScanAllProviders(); @@ -254,6 +273,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { } + @Test public void testPackageInstalled() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList(createProviderPackage("test.package1", "authority1"), @@ -305,6 +325,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { cursor.close(); } + @Test public void testPackageUninstalled() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList( @@ -351,6 +372,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { cursor.close(); } + @Test public void testPackageReplaced() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList( @@ -409,6 +431,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { * Tests if the manager works correctly when the package name for a directory is changed * (on system update). */ + @Test public void testPackageRenamed() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList( @@ -472,6 +495,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { cursor.close(); } + @Test public void testAccountRemoval() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList( @@ -513,6 +537,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { cursor.close(); } + @Test public void testNotifyDirectoryChange() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList(createProviderPackage("test.package1", "authority1"), @@ -547,6 +572,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { cursor.close(); } + @Test public void testForwardingToDirectoryProvider() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList(createProviderPackage("test.package1", "authority1"), @@ -587,6 +613,7 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { cursor.close(); } + @Test public void testProjectionPopulated() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList(createProviderPackage("test.package1", "authority1"), @@ -625,8 +652,9 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { * Test {@link ContactDirectoryManager#getDirectoryProviderPackages} with the actual * package manager, and see if it returns the google sync package. */ + @Test public void testGetDirectoryProviderPackages() { - final PackageManager pm = getContext().getPackageManager(); + final PackageManager pm = mContext.getPackageManager(); final String googleSync = "com.google.android.gms"; // Skip if the package is not installed. @@ -650,6 +678,55 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { dirProviderPackages.contains(googleSync)); } + @Test + public void testUpdateDirectoriesForUnstoppedPackage() throws Exception { + mPackageManager.setInstalledPackages( + Lists.newArrayList(createProviderPackage("test.package1", "authority1"))); + + MockContactDirectoryProvider provider1 = (MockContactDirectoryProvider) addProvider( + MockContactDirectoryProvider.class, "authority1"); + MatrixCursor response1 = provider1.createResponseCursor(); + addDirectoryRow(response1, "account-name1", "account-type1", "display-name1", 1, + Directory.EXPORT_SUPPORT_NONE, Directory.SHORTCUT_SUPPORT_NONE, + Directory.PHOTO_SUPPORT_NONE); + + PackageInfo packageInfo = mPackageManager.getPackageInfo("test.package1", + PackageManager.GET_PROVIDERS | PackageManager.GET_META_DATA); + + ApplicationInfo applicationInfo = new ApplicationInfo(); + applicationInfo.packageName = packageInfo.packageName; + packageInfo.applicationInfo = applicationInfo; + // Package is not in stopped state + packageInfo.applicationInfo.flags = 0; + + assertEquals(mDirectoryManager.updateDirectoriesForPackage(packageInfo, true).size(), 1); + } + + @Test + @RequiresFlagsEnabled(FLAG_STAY_STOPPED) + public void testUpdateDirectoriesForStoppedPackage() throws Exception { + mPackageManager.setInstalledPackages( + Lists.newArrayList(createProviderPackage("test.package1", "authority1"))); + + MockContactDirectoryProvider provider1 = (MockContactDirectoryProvider) addProvider( + MockContactDirectoryProvider.class, "authority1"); + MatrixCursor response1 = provider1.createResponseCursor(); + addDirectoryRow(response1, "account-name1", "account-type1", "display-name1", 1, + Directory.EXPORT_SUPPORT_NONE, Directory.SHORTCUT_SUPPORT_NONE, + Directory.PHOTO_SUPPORT_NONE); + + PackageInfo packageInfo = mPackageManager.getPackageInfo("test.package1", + PackageManager.GET_PROVIDERS | PackageManager.GET_META_DATA); + + ApplicationInfo applicationInfo = new ApplicationInfo(); + applicationInfo.packageName = packageInfo.packageName; + packageInfo.applicationInfo = applicationInfo; + // Put the package in stopped state: set associated app flags to true + packageInfo.applicationInfo.flags |= ApplicationInfo.FLAG_STOPPED; + + assertNull(mDirectoryManager.updateDirectoriesForPackage(packageInfo, true)); + } + protected PackageInfo createProviderPackage(String packageName, String authority) { return createPackage(packageName, authority, true); } diff --git a/tests/src/com/android/providers/contacts/ContactsDatabaseHelperUpgradeTest.java b/tests/src/com/android/providers/contacts/ContactsDatabaseHelperUpgradeTest.java index 0548f980..bd88e5a8 100644 --- a/tests/src/com/android/providers/contacts/ContactsDatabaseHelperUpgradeTest.java +++ b/tests/src/com/android/providers/contacts/ContactsDatabaseHelperUpgradeTest.java @@ -491,11 +491,6 @@ public class ContactsDatabaseHelperUpgradeTest extends BaseDatabaseHelperUpgrade new TableColumn(NameLookupColumns.NAME_TYPE, INTEGER, true, null), }; - private static final TableColumn[] NICKNAME_LOOKUP_COLUMNS = new TableColumn[] { - new TableColumn(NicknameLookupColumns.NAME, TEXT, false, null), - new TableColumn(NicknameLookupColumns.CLUSTER, TEXT, false, null), - }; - private static final TableColumn[] GROUPS_COLUMNS = new TableColumn[] { new TableColumn(Groups._ID, INTEGER, false, null), new TableColumn(GroupsColumns.PACKAGE_ID, INTEGER, false, null), @@ -665,7 +660,6 @@ public class ContactsDatabaseHelperUpgradeTest extends BaseDatabaseHelperUpgrade new TableListEntry(Tables.DATA, DATA_COLUMNS), new TableListEntry(Tables.PHONE_LOOKUP, PHONE_LOOKUP_COLUMNS), new TableListEntry(Tables.NAME_LOOKUP, NAME_LOOKUP_COLUMNS), - new TableListEntry(Tables.NICKNAME_LOOKUP, NICKNAME_LOOKUP_COLUMNS), new TableListEntry(Tables.GROUPS, GROUPS_COLUMNS), new TableListEntry(Tables.AGGREGATION_EXCEPTIONS, AGGREGATION_EXCEPTIONS_COLUMNS), new TableListEntry(Tables.VISIBLE_CONTACTS, VISIBLE_CONTACTS_COLUMNS), diff --git a/tests/src/com/android/providers/contacts/ContactsMockPackageManager.java b/tests/src/com/android/providers/contacts/ContactsMockPackageManager.java index 62f17eab..b96d6d52 100644 --- a/tests/src/com/android/providers/contacts/ContactsMockPackageManager.java +++ b/tests/src/com/android/providers/contacts/ContactsMockPackageManager.java @@ -161,4 +161,11 @@ public class ContactsMockPackageManager extends MockPackageManager { public int getPackageUid(String packageName, int flags) throws NameNotFoundException { return 123; } + + @Override + public boolean isPackageStopped(String packageName) throws NameNotFoundException { + PackageInfo packageInfo = getPackageInfo(packageName, 0); + return packageInfo.applicationInfo != null + && ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_STOPPED) != 0); + } } diff --git a/tests/src/com/android/providers/contacts/MockCountryMonitor.java b/tests/src/com/android/providers/contacts/MockCountryMonitor.java new file mode 100644 index 00000000..6da71bd6 --- /dev/null +++ b/tests/src/com/android/providers/contacts/MockCountryMonitor.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2023 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.providers.contacts; + +import android.content.Context; + +/** + * A mock of the CountryMonitor class which always returns US + * when country ISO code is requested to ensure that the tests + * run successfully irrespective of the physical location of the + * device. + */ +public class MockCountryMonitor extends CountryMonitor { + + public MockCountryMonitor(Context context) { + super(context); + } + + @Override + public String getCountryIso() { + return "US"; + } +} diff --git a/tests/src/com/android/providers/contacts/NameLookupBuilderTest.java b/tests/src/com/android/providers/contacts/NameLookupBuilderTest.java index 1ca8b64e..f674dc9f 100644 --- a/tests/src/com/android/providers/contacts/NameLookupBuilderTest.java +++ b/tests/src/com/android/providers/contacts/NameLookupBuilderTest.java @@ -52,16 +52,6 @@ public class NameLookupBuilderTest extends TestCase { return name; } - @Override - protected String[] getCommonNicknameClusters(String normalizedName) { - if (normalizedName.equals("Bill")) { - return new String[] {"*William"}; - } else if (normalizedName.equals("Al")) { - return new String[] {"*Alex", "*Alice"}; - } - return null; - } - public String inserted() { return sb.toString(); } @@ -151,37 +141,6 @@ public class NameLookupBuilderTest extends TestCase { "(1:Biz.Foo.Bar.Baz)(2:BizFooBarBaz)", mBuilder.inserted()); } - public void testSingleNickname() { - mBuilder.insertNameLookup(0, 0, "Bill", FullNameStyle.UNDEFINED); - assertEquals("(0:Bill)(2:Bill)(1:*William)", mBuilder.inserted()); - } - - public void testSingleNameWithTwoNicknames() { - mBuilder.insertNameLookup(0, 0, "Al", FullNameStyle.UNDEFINED); - assertEquals("(0:Al)(2:Al)(1:*Alex)(1:*Alice)", mBuilder.inserted()); - } - - public void testTwoNamesOneOfWhichIsNickname() { - mBuilder.insertNameLookup(0, 0, "Foo Al", FullNameStyle.UNDEFINED); - assertEquals( - "(0:Foo.Al)(2:FooAl)" + - "(1:Al.Foo)(2:AlFoo)" + - "(1:Foo.*Alex)(1:*Alex.Foo)" + - "(1:Foo.*Alice)(1:*Alice.Foo)", mBuilder.inserted()); - } - - public void testTwoNamesBothNickname() { - mBuilder.insertNameLookup(0, 0, "Bill Al", FullNameStyle.UNDEFINED); - assertEquals( - "(0:Bill.Al)(2:BillAl)" + - "(1:Al.Bill)(2:AlBill)" + - "(1:*William.Al)(1:Al.*William)" + - "(1:*William.*Alex)(1:*Alex.*William)" + - "(1:*William.*Alice)(1:*Alice.*William)" + - "(1:Bill.*Alex)(1:*Alex.Bill)" + - "(1:Bill.*Alice)(1:*Alice.Bill)", mBuilder.inserted()); - } - public void testChineseName() { // Only run this test when Chinese collation is supported if (!Arrays.asList(Collator.getAvailableLocales()).contains(Locale.CHINA)) { diff --git a/tests/src/com/android/providers/contacts/aggregation/ContactAggregator2Test.java b/tests/src/com/android/providers/contacts/aggregation/ContactAggregator2Test.java index b19a10fb..ff12ea05 100644 --- a/tests/src/com/android/providers/contacts/aggregation/ContactAggregator2Test.java +++ b/tests/src/com/android/providers/contacts/aggregation/ContactAggregator2Test.java @@ -429,69 +429,6 @@ public class ContactAggregator2Test extends BaseContactsProvider2Test { assertNotAggregated(rawContactId1, rawContactId2); } - public void testAggregationByCommonNicknameWithLastName() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Bill", "Gore"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_2); - DataUtil.insertStructuredName(mResolver, rawContactId2, "William", "Gore"); - - if (ActivityManager.isLowRamDeviceStatic()) { - // No common nickname DB on lowram devices. - assertNotAggregated(rawContactId1, rawContactId2); - } else { - assertAggregated(rawContactId1, rawContactId2, "William Gore"); - } - } - - public void testAggregationByCommonNicknameOnly() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Lawrence", null); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_2); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Larry", null); - - if (ActivityManager.isLowRamDeviceStatic()) { - // No common nickname DB on lowram devices. - assertNotAggregated(rawContactId1, rawContactId2); - } else { - assertAggregated(rawContactId1, rawContactId2, "Lawrence"); - } - } - - public void testAggregationByNicknameNoStructuredNameWithinSameAccount() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - insertNickname(rawContactId1, "Frozone"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - insertNickname(rawContactId2, "Frozone"); - - assertNotAggregated(rawContactId1, rawContactId2); - } - - public void testAggregationByNicknameNoStructuredNameWithinDifferentAccounts() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - insertNickname(rawContactId1, "Frozone"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_2); - insertNickname(rawContactId2, "Frozone"); - - assertAggregated(rawContactId1, rawContactId2); - } - - - public void testAggregationByNicknameWithDifferentNames() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Helen", "Parr"); - insertNickname(rawContactId1, "Elastigirl"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_2); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Shawn", "Johnson"); - insertNickname(rawContactId2, "Elastigirl"); - - assertNotAggregated(rawContactId1, rawContactId2); - } - public void testNonAggregationOnOrganization() { ContentValues values = new ContentValues(); values.put(Organization.TITLE, "Monsters, Inc"); @@ -1050,54 +987,6 @@ public class ContactAggregator2Test extends BaseContactsProvider2Test { assertSuggestions(contactId1, contactId2); } - public void testAggregationSuggestionsBasedOnNickname() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Peter", "Parker"); - insertNickname(rawContactId1, "Spider-Man"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Manny", "Spider"); - - long contactId1 = queryContactId(rawContactId1); - setAggregationException(AggregationExceptions.TYPE_KEEP_SEPARATE, - rawContactId1, rawContactId2); - - long contactId2 = queryContactId(rawContactId2); - assertSuggestions(contactId1, contactId2); - } - - public void testAggregationSuggestionsBasedOnNicknameMatchingName() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Clark", "Kent"); - insertNickname(rawContactId1, "Superman"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Roy", "Williams"); - insertNickname(rawContactId2, "superman"); - - long contactId1 = queryContactId(rawContactId1); - setAggregationException(AggregationExceptions.TYPE_KEEP_SEPARATE, - rawContactId1, rawContactId2); - - long contactId2 = queryContactId(rawContactId2); - assertSuggestions(contactId1, contactId2); - } - - public void testAggregationSuggestionsBasedOnCommonNickname() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Dick", "Cherry"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Richard", "Cherry"); - - setAggregationException(AggregationExceptions.TYPE_KEEP_SEPARATE, - rawContactId1, rawContactId2); - - long contactId1 = queryContactId(rawContactId1); - long contactId2 = queryContactId(rawContactId2); - assertSuggestions(contactId1, contactId2); - } - public void testAggregationSuggestionsBasedOnPhoneNumberWithFilter() { // Create two contacts that would not be aggregated because of name mismatch diff --git a/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java b/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java index 37e3184c..6e65b6d6 100644 --- a/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java +++ b/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java @@ -413,59 +413,6 @@ public class ContactAggregatorTest extends BaseContactsProvider2Test { assertNotAggregated(rawContactId1, rawContactId2); } - public void testAggregationByCommonNicknameWithLastName() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Bill", "Gore"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_2); - DataUtil.insertStructuredName(mResolver, rawContactId2, "William", "Gore"); - - - if (ActivityManager.isLowRamDeviceStatic()) { - // No common nickname DB on lowram devices. - assertNotAggregated(rawContactId1, rawContactId2); - } else { - assertAggregated(rawContactId1, rawContactId2, "William Gore"); - } - } - - public void testAggregationByCommonNicknameOnly() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Lawrence", null); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_2); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Larry", null); - - if (ActivityManager.isLowRamDeviceStatic()) { - // No common nickname DB on lowram devices. - assertNotAggregated(rawContactId1, rawContactId2); - } else { - assertAggregated(rawContactId1, rawContactId2, "Lawrence"); - } - } - - public void testAggregationByNicknameNoStructuredName() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - insertNickname(rawContactId1, "Frozone"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_2); - insertNickname(rawContactId2, "Frozone"); - - assertAggregated(rawContactId1, rawContactId2); - } - - public void testAggregationByNicknameWithDifferentNames() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver, ACCOUNT_1); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Helen", "Parr"); - insertNickname(rawContactId1, "Elastigirl"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver, ACCOUNT_2); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Shawn", "Johnson"); - insertNickname(rawContactId2, "Elastigirl"); - - assertNotAggregated(rawContactId1, rawContactId2); - } - public void testNonAggregationOnOrganization() { ContentValues values = new ContentValues(); values.put(Organization.TITLE, "Monsters, Inc"); @@ -1042,54 +989,6 @@ public class ContactAggregatorTest extends BaseContactsProvider2Test { assertSuggestions(contactId1, contactId2); } - public void testAggregationSuggestionsBasedOnNickname() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Peter", "Parker"); - insertNickname(rawContactId1, "Spider-Man"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Manny", "Spider"); - - long contactId1 = queryContactId(rawContactId1); - setAggregationException(AggregationExceptions.TYPE_KEEP_SEPARATE, - rawContactId1, rawContactId2); - - long contactId2 = queryContactId(rawContactId2); - assertSuggestions(contactId1, contactId2); - } - - public void testAggregationSuggestionsBasedOnNicknameMatchingName() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Clark", "Kent"); - insertNickname(rawContactId1, "Superman"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Roy", "Williams"); - insertNickname(rawContactId2, "superman"); - - long contactId1 = queryContactId(rawContactId1); - setAggregationException(AggregationExceptions.TYPE_KEEP_SEPARATE, - rawContactId1, rawContactId2); - - long contactId2 = queryContactId(rawContactId2); - assertSuggestions(contactId1, contactId2); - } - - public void testAggregationSuggestionsBasedOnCommonNickname() { - long rawContactId1 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId1, "Dick", "Cherry"); - - long rawContactId2 = RawContactUtil.createRawContact(mResolver); - DataUtil.insertStructuredName(mResolver, rawContactId2, "Richard", "Cherry"); - - setAggregationException(AggregationExceptions.TYPE_KEEP_SEPARATE, - rawContactId1, rawContactId2); - - long contactId1 = queryContactId(rawContactId1); - long contactId2 = queryContactId(rawContactId2); - assertSuggestions(contactId1, contactId2); - } - public void testAggregationSuggestionsBasedOnPhoneNumberWithFilter() { // Create two contacts that would not be aggregated because of name mismatch |