Loading core/tests/coretests/src/android/pim/vcard/ExportTestResolver.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.net.Uri; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.RawContacts; import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; import android.test.mock.MockContentResolver; import android.test.mock.MockCursor; import android.test.mock.MockCursor; Loading @@ -44,6 +45,10 @@ import java.util.List; public ContactEntry addInputContactEntry() { public ContactEntry addInputContactEntry() { return mProvider.buildInputEntry(); return mProvider.buildInputEntry(); } } public ExportTestProvider getProvider() { return mProvider; } } } /* package */ class MockEntityIterator implements EntityIterator { /* package */ class MockEntityIterator implements EntityIterator { Loading core/tests/coretests/src/android/pim/vcard/ImportTestResolver.java +4 −3 Original line number Original line Diff line number Diff line Loading @@ -19,8 +19,6 @@ import android.content.ContentProviderOperation; import android.content.ContentProviderResult; import android.content.ContentProviderResult; import android.content.ContentValues; import android.content.ContentValues; import android.net.Uri; import android.net.Uri; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.CommonDataKinds.Email; import android.provider.ContactsContract.CommonDataKinds.Email; import android.provider.ContactsContract.CommonDataKinds.Event; import android.provider.ContactsContract.CommonDataKinds.Event; import android.provider.ContactsContract.CommonDataKinds.GroupMembership; import android.provider.ContactsContract.CommonDataKinds.GroupMembership; Loading @@ -34,6 +32,9 @@ import android.provider.ContactsContract.CommonDataKinds.Relation; import android.provider.ContactsContract.CommonDataKinds.StructuredName; import android.provider.ContactsContract.CommonDataKinds.StructuredName; import android.provider.ContactsContract.CommonDataKinds.StructuredPostal; import android.provider.ContactsContract.CommonDataKinds.StructuredPostal; import android.provider.ContactsContract.CommonDataKinds.Website; import android.provider.ContactsContract.CommonDataKinds.Website; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; import android.test.mock.MockContentResolver; import android.text.TextUtils; import android.text.TextUtils; Loading @@ -45,10 +46,10 @@ import java.util.Collection; import java.util.HashMap; import java.util.HashMap; import java.util.HashSet; import java.util.HashSet; import java.util.Map; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.Set; import java.util.SortedMap; import java.util.SortedMap; import java.util.TreeMap; import java.util.TreeMap; import java.util.Map.Entry; /* package */ class ImportTestResolver extends MockContentResolver { /* package */ class ImportTestResolver extends MockContentResolver { final ImportTestProvider mProvider; final ImportTestProvider mProvider; Loading core/tests/coretests/src/android/pim/vcard/VCardExporterTests.java +20 −8 Original line number Original line Diff line number Diff line Loading @@ -438,6 +438,17 @@ public class VCardExporterTests extends VCardTestsBase { .put(Phone.TYPE, Phone.TYPE_CUSTOM) .put(Phone.TYPE, Phone.TYPE_CUSTOM) .put(Phone.LABEL, "invalid"); .put(Phone.LABEL, "invalid"); PropertyNodesVerifierElem elem = mVerifier.addPropertyNodesVerifierElemWithEmptyName(); PropertyNodesVerifierElem elem = mVerifier.addPropertyNodesVerifierElemWithEmptyName(); if (VCardConfig.isV30(vcardType)) { // vCard 3.0 accepts "invalid". Also stop using toUpper() elem.addExpectedNode("TEL", "1", new TypeSet("Modem")) .addExpectedNode("TEL", "2", new TypeSet("MSG")) .addExpectedNode("TEL", "3", new TypeSet("BBS")) .addExpectedNode("TEL", "4", new TypeSet("VIDEO")) .addExpectedNode("TEL", "5", new TypeSet("VOICE")) .addExpectedNode("TEL", "6", new TypeSet("CELL")) .addExpectedNode("TEL", "7", new TypeSet("CELL")) .addExpectedNode("TEL", "8", new TypeSet("invalid")); } else { elem.addExpectedNode("TEL", "1", new TypeSet("MODEM")) elem.addExpectedNode("TEL", "1", new TypeSet("MODEM")) .addExpectedNode("TEL", "2", new TypeSet("MSG")) .addExpectedNode("TEL", "2", new TypeSet("MSG")) .addExpectedNode("TEL", "3", new TypeSet("BBS")) .addExpectedNode("TEL", "3", new TypeSet("BBS")) Loading @@ -447,6 +458,7 @@ public class VCardExporterTests extends VCardTestsBase { .addExpectedNode("TEL", "7", new TypeSet("CELL")) .addExpectedNode("TEL", "7", new TypeSet("CELL")) .addExpectedNode("TEL", "8", new TypeSet("X-invalid")); .addExpectedNode("TEL", "8", new TypeSet("X-invalid")); } } } public void testPhoneTypeHandlingV21() { public void testPhoneTypeHandlingV21() { testMiscPhoneTypeHandling(V21); testMiscPhoneTypeHandling(V21); Loading core/tests/coretests/src/android/pim/vcard/VCardTestsBase.java +0 −87 Original line number Original line Diff line number Diff line Loading @@ -16,95 +16,8 @@ package android.pim.vcard; package android.pim.vcard; import android.content.ContentProvider; import android.content.ContentProviderOperation; import android.content.ContentProviderResult; import android.content.ContentValues; import android.content.ContentValues; import android.content.EntityIterator; import android.content.res.AssetFileDescriptor; import android.database.Cursor; import android.database.CursorWindow; import android.database.IBulkCursor; import android.database.IContentObserver; import android.net.Uri; import android.os.IBinder; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.pim.vcard.VCardConfig; import android.test.AndroidTestCase; import android.test.AndroidTestCase; import android.util.Log; import java.util.ArrayList; /** * Almost a dead copy of android.test.mock.MockContentProvider, but different in that this * class extends ContentProvider, not implementing IContentProvider, * so that MockContentResolver is able to accept this class :( */ class MockContentProvider extends ContentProvider { @Override public boolean onCreate() { return true; } @Override public int bulkInsert(Uri url, ContentValues[] initialValues) { throw new UnsupportedOperationException("unimplemented mock method"); } @SuppressWarnings("unused") public IBulkCursor bulkQuery(Uri url, String[] projection, String selection, String[] selectionArgs, String sortOrder, IContentObserver observer, CursorWindow window) throws RemoteException { throw new UnsupportedOperationException("unimplemented mock method"); } @Override @SuppressWarnings("unused") public int delete(Uri url, String selection, String[] selectionArgs) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public String getType(Uri url) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public Uri insert(Uri url, ContentValues initialValues) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public ParcelFileDescriptor openFile(Uri url, String mode) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public AssetFileDescriptor openAssetFile(Uri uri, String mode) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public Cursor query(Uri url, String[] projection, String selection, String[] selectionArgs, String sortOrder) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public int update(Uri url, ContentValues values, String selection, String[] selectionArgs) { throw new UnsupportedOperationException("unimplemented mock method"); } public IBinder asBinder() { throw new UnsupportedOperationException("unimplemented mock method"); } } /** /** * BaseClass for vCard unit tests with utility classes. * BaseClass for vCard unit tests with utility classes. Loading core/tests/coretests/src/android/pim/vcard/VCardVerifier.java +16 −9 Original line number Original line Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.pim.vcard.VCardParser_V30; import android.pim.vcard.exception.VCardException; import android.pim.vcard.exception.VCardException; import android.test.AndroidTestCase; import android.test.AndroidTestCase; import android.test.mock.MockContext; import android.test.mock.MockContext; import android.util.Log; import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.IOException; Loading @@ -51,6 +52,8 @@ import java.util.Arrays; } } /* package */ class VCardVerifier { /* package */ class VCardVerifier { private static final String LOG_TAG = "VCardVerifier"; private class VCardVerifierInternal implements VCardComposer.OneEntryHandler { private class VCardVerifierInternal implements VCardComposer.OneEntryHandler { public boolean onInit(Context context) { public boolean onInit(Context context) { return true; return true; Loading Loading @@ -267,12 +270,15 @@ import java.util.Arrays; final ContentResolver resolver, final ContentResolver resolver, final Uri uri, final String selection, final Uri uri, final String selection, final String[] selectionArgs, final String sortOrder) { final String[] selectionArgs, final String sortOrder) { final ContentProvider provider = if (ExportTestResolver.class.equals(resolver.getClass())) { resolver.acquireContentProviderClient(uri).getLocalContentProvider(); return ((ExportTestResolver)resolver).getProvider().queryEntities( return ((ExportTestProvider)provider).queryEntities( uri, selection, selectionArgs, sortOrder); uri, selection, selectionArgs, sortOrder); } } Log.e(LOG_TAG, "Unexpected provider given."); return null; } private Method getMockGetEntityIteratorMethod() private Method getMockGetEntityIteratorMethod() throws SecurityException, NoSuchMethodException { throws SecurityException, NoSuchMethodException { return this.getClass().getMethod("mockGetEntityIteratorMethod", return this.getClass().getMethod("mockGetEntityIteratorMethod", Loading @@ -285,18 +291,19 @@ import java.util.Arrays; composer.addHandler(mLineVerifier); composer.addHandler(mLineVerifier); composer.addHandler(mVCardVerifierInternal); composer.addHandler(mVCardVerifierInternal); if (!composer.init(VCardComposer.CONTACTS_TEST_CONTENT_URI, null, null, null)) { if (!composer.init(VCardComposer.CONTACTS_TEST_CONTENT_URI, null, null, null)) { mTestCase.fail("init() failed. Reason: " + composer.getErrorReason()); AndroidTestCase.fail("init() failed. Reason: " + composer.getErrorReason()); } } mTestCase.assertFalse(composer.isAfterLast()); AndroidTestCase.assertFalse(composer.isAfterLast()); try { try { while (!composer.isAfterLast()) { while (!composer.isAfterLast()) { try { try { final Method mockGetEntityIteratorMethod = getMockGetEntityIteratorMethod(); final Method mockGetEntityIteratorMethod = getMockGetEntityIteratorMethod(); mTestCase.assertTrue( AndroidTestCase.assertNotNull(mockGetEntityIteratorMethod); composer.createOneEntry(getMockGetEntityIteratorMethod())); AndroidTestCase.assertTrue( composer.createOneEntry(mockGetEntityIteratorMethod)); } catch (Exception e) { } catch (Exception e) { e.printStackTrace(); e.printStackTrace(); mTestCase.fail(); AndroidTestCase.fail(); } } } } } finally { } finally { Loading Loading
core/tests/coretests/src/android/pim/vcard/ExportTestResolver.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.net.Uri; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.RawContacts; import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; import android.test.mock.MockContentResolver; import android.test.mock.MockCursor; import android.test.mock.MockCursor; Loading @@ -44,6 +45,10 @@ import java.util.List; public ContactEntry addInputContactEntry() { public ContactEntry addInputContactEntry() { return mProvider.buildInputEntry(); return mProvider.buildInputEntry(); } } public ExportTestProvider getProvider() { return mProvider; } } } /* package */ class MockEntityIterator implements EntityIterator { /* package */ class MockEntityIterator implements EntityIterator { Loading
core/tests/coretests/src/android/pim/vcard/ImportTestResolver.java +4 −3 Original line number Original line Diff line number Diff line Loading @@ -19,8 +19,6 @@ import android.content.ContentProviderOperation; import android.content.ContentProviderResult; import android.content.ContentProviderResult; import android.content.ContentValues; import android.content.ContentValues; import android.net.Uri; import android.net.Uri; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.provider.ContactsContract.CommonDataKinds.Email; import android.provider.ContactsContract.CommonDataKinds.Email; import android.provider.ContactsContract.CommonDataKinds.Event; import android.provider.ContactsContract.CommonDataKinds.Event; import android.provider.ContactsContract.CommonDataKinds.GroupMembership; import android.provider.ContactsContract.CommonDataKinds.GroupMembership; Loading @@ -34,6 +32,9 @@ import android.provider.ContactsContract.CommonDataKinds.Relation; import android.provider.ContactsContract.CommonDataKinds.StructuredName; import android.provider.ContactsContract.CommonDataKinds.StructuredName; import android.provider.ContactsContract.CommonDataKinds.StructuredPostal; import android.provider.ContactsContract.CommonDataKinds.StructuredPostal; import android.provider.ContactsContract.CommonDataKinds.Website; import android.provider.ContactsContract.CommonDataKinds.Website; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.RawContacts; import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; import android.test.mock.MockContentResolver; import android.text.TextUtils; import android.text.TextUtils; Loading @@ -45,10 +46,10 @@ import java.util.Collection; import java.util.HashMap; import java.util.HashMap; import java.util.HashSet; import java.util.HashSet; import java.util.Map; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.Set; import java.util.SortedMap; import java.util.SortedMap; import java.util.TreeMap; import java.util.TreeMap; import java.util.Map.Entry; /* package */ class ImportTestResolver extends MockContentResolver { /* package */ class ImportTestResolver extends MockContentResolver { final ImportTestProvider mProvider; final ImportTestProvider mProvider; Loading
core/tests/coretests/src/android/pim/vcard/VCardExporterTests.java +20 −8 Original line number Original line Diff line number Diff line Loading @@ -438,6 +438,17 @@ public class VCardExporterTests extends VCardTestsBase { .put(Phone.TYPE, Phone.TYPE_CUSTOM) .put(Phone.TYPE, Phone.TYPE_CUSTOM) .put(Phone.LABEL, "invalid"); .put(Phone.LABEL, "invalid"); PropertyNodesVerifierElem elem = mVerifier.addPropertyNodesVerifierElemWithEmptyName(); PropertyNodesVerifierElem elem = mVerifier.addPropertyNodesVerifierElemWithEmptyName(); if (VCardConfig.isV30(vcardType)) { // vCard 3.0 accepts "invalid". Also stop using toUpper() elem.addExpectedNode("TEL", "1", new TypeSet("Modem")) .addExpectedNode("TEL", "2", new TypeSet("MSG")) .addExpectedNode("TEL", "3", new TypeSet("BBS")) .addExpectedNode("TEL", "4", new TypeSet("VIDEO")) .addExpectedNode("TEL", "5", new TypeSet("VOICE")) .addExpectedNode("TEL", "6", new TypeSet("CELL")) .addExpectedNode("TEL", "7", new TypeSet("CELL")) .addExpectedNode("TEL", "8", new TypeSet("invalid")); } else { elem.addExpectedNode("TEL", "1", new TypeSet("MODEM")) elem.addExpectedNode("TEL", "1", new TypeSet("MODEM")) .addExpectedNode("TEL", "2", new TypeSet("MSG")) .addExpectedNode("TEL", "2", new TypeSet("MSG")) .addExpectedNode("TEL", "3", new TypeSet("BBS")) .addExpectedNode("TEL", "3", new TypeSet("BBS")) Loading @@ -447,6 +458,7 @@ public class VCardExporterTests extends VCardTestsBase { .addExpectedNode("TEL", "7", new TypeSet("CELL")) .addExpectedNode("TEL", "7", new TypeSet("CELL")) .addExpectedNode("TEL", "8", new TypeSet("X-invalid")); .addExpectedNode("TEL", "8", new TypeSet("X-invalid")); } } } public void testPhoneTypeHandlingV21() { public void testPhoneTypeHandlingV21() { testMiscPhoneTypeHandling(V21); testMiscPhoneTypeHandling(V21); Loading
core/tests/coretests/src/android/pim/vcard/VCardTestsBase.java +0 −87 Original line number Original line Diff line number Diff line Loading @@ -16,95 +16,8 @@ package android.pim.vcard; package android.pim.vcard; import android.content.ContentProvider; import android.content.ContentProviderOperation; import android.content.ContentProviderResult; import android.content.ContentValues; import android.content.ContentValues; import android.content.EntityIterator; import android.content.res.AssetFileDescriptor; import android.database.Cursor; import android.database.CursorWindow; import android.database.IBulkCursor; import android.database.IContentObserver; import android.net.Uri; import android.os.IBinder; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.pim.vcard.VCardConfig; import android.test.AndroidTestCase; import android.test.AndroidTestCase; import android.util.Log; import java.util.ArrayList; /** * Almost a dead copy of android.test.mock.MockContentProvider, but different in that this * class extends ContentProvider, not implementing IContentProvider, * so that MockContentResolver is able to accept this class :( */ class MockContentProvider extends ContentProvider { @Override public boolean onCreate() { return true; } @Override public int bulkInsert(Uri url, ContentValues[] initialValues) { throw new UnsupportedOperationException("unimplemented mock method"); } @SuppressWarnings("unused") public IBulkCursor bulkQuery(Uri url, String[] projection, String selection, String[] selectionArgs, String sortOrder, IContentObserver observer, CursorWindow window) throws RemoteException { throw new UnsupportedOperationException("unimplemented mock method"); } @Override @SuppressWarnings("unused") public int delete(Uri url, String selection, String[] selectionArgs) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public String getType(Uri url) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public Uri insert(Uri url, ContentValues initialValues) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public ParcelFileDescriptor openFile(Uri url, String mode) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public AssetFileDescriptor openAssetFile(Uri uri, String mode) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public Cursor query(Uri url, String[] projection, String selection, String[] selectionArgs, String sortOrder) { throw new UnsupportedOperationException("unimplemented mock method"); } @Override public int update(Uri url, ContentValues values, String selection, String[] selectionArgs) { throw new UnsupportedOperationException("unimplemented mock method"); } public IBinder asBinder() { throw new UnsupportedOperationException("unimplemented mock method"); } } /** /** * BaseClass for vCard unit tests with utility classes. * BaseClass for vCard unit tests with utility classes. Loading
core/tests/coretests/src/android/pim/vcard/VCardVerifier.java +16 −9 Original line number Original line Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.pim.vcard.VCardParser_V30; import android.pim.vcard.exception.VCardException; import android.pim.vcard.exception.VCardException; import android.test.AndroidTestCase; import android.test.AndroidTestCase; import android.test.mock.MockContext; import android.test.mock.MockContext; import android.util.Log; import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.IOException; Loading @@ -51,6 +52,8 @@ import java.util.Arrays; } } /* package */ class VCardVerifier { /* package */ class VCardVerifier { private static final String LOG_TAG = "VCardVerifier"; private class VCardVerifierInternal implements VCardComposer.OneEntryHandler { private class VCardVerifierInternal implements VCardComposer.OneEntryHandler { public boolean onInit(Context context) { public boolean onInit(Context context) { return true; return true; Loading Loading @@ -267,12 +270,15 @@ import java.util.Arrays; final ContentResolver resolver, final ContentResolver resolver, final Uri uri, final String selection, final Uri uri, final String selection, final String[] selectionArgs, final String sortOrder) { final String[] selectionArgs, final String sortOrder) { final ContentProvider provider = if (ExportTestResolver.class.equals(resolver.getClass())) { resolver.acquireContentProviderClient(uri).getLocalContentProvider(); return ((ExportTestResolver)resolver).getProvider().queryEntities( return ((ExportTestProvider)provider).queryEntities( uri, selection, selectionArgs, sortOrder); uri, selection, selectionArgs, sortOrder); } } Log.e(LOG_TAG, "Unexpected provider given."); return null; } private Method getMockGetEntityIteratorMethod() private Method getMockGetEntityIteratorMethod() throws SecurityException, NoSuchMethodException { throws SecurityException, NoSuchMethodException { return this.getClass().getMethod("mockGetEntityIteratorMethod", return this.getClass().getMethod("mockGetEntityIteratorMethod", Loading @@ -285,18 +291,19 @@ import java.util.Arrays; composer.addHandler(mLineVerifier); composer.addHandler(mLineVerifier); composer.addHandler(mVCardVerifierInternal); composer.addHandler(mVCardVerifierInternal); if (!composer.init(VCardComposer.CONTACTS_TEST_CONTENT_URI, null, null, null)) { if (!composer.init(VCardComposer.CONTACTS_TEST_CONTENT_URI, null, null, null)) { mTestCase.fail("init() failed. Reason: " + composer.getErrorReason()); AndroidTestCase.fail("init() failed. Reason: " + composer.getErrorReason()); } } mTestCase.assertFalse(composer.isAfterLast()); AndroidTestCase.assertFalse(composer.isAfterLast()); try { try { while (!composer.isAfterLast()) { while (!composer.isAfterLast()) { try { try { final Method mockGetEntityIteratorMethod = getMockGetEntityIteratorMethod(); final Method mockGetEntityIteratorMethod = getMockGetEntityIteratorMethod(); mTestCase.assertTrue( AndroidTestCase.assertNotNull(mockGetEntityIteratorMethod); composer.createOneEntry(getMockGetEntityIteratorMethod())); AndroidTestCase.assertTrue( composer.createOneEntry(mockGetEntityIteratorMethod)); } catch (Exception e) { } catch (Exception e) { e.printStackTrace(); e.printStackTrace(); mTestCase.fail(); AndroidTestCase.fail(); } } } } } finally { } finally { Loading