1202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa/* 2202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * Copyright (C) 2011 The Android Open Source Project 3202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * 4202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * Licensed under the Apache License, Version 2.0 (the "License"); 5202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * you may not use this file except in compliance with the License. 6202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * You may obtain a copy of the License at 7202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * 8202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * http://www.apache.org/licenses/LICENSE-2.0 9202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * 10202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * Unless required by applicable law or agreed to in writing, software 11202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * distributed under the License is distributed on an "AS IS" BASIS, 12202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * See the License for the specific language governing permissions and 14202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * limitations under the License. 15202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa */ 16202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa 17202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawapackage com.android.providers.contacts; 18202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa 19202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawaimport com.android.vcard.VCardComposer; 20202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawaimport com.android.vcard.VCardConfig; 21202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa 22202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawaimport android.content.ContentResolver; 233535990c241841cdc8d65aa00c5ec0c3efaab3d8Daisuke Miyakawaimport android.test.suitebuilder.annotation.MediumTest; 24202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa 25202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa/** 26202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * Tests (or integration tests) verifying if vCard library works well with {@link ContentResolver}. 27202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * 28202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * Unit tests for vCard itself should be availabel in vCard library. 29202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa */ 303535990c241841cdc8d65aa00c5ec0c3efaab3d8Daisuke Miyakawa@MediumTest 31202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawapublic class VCardTest extends BaseContactsProvider2Test { 32202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa private static final String TAG = "VCardTest"; 33202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa private static final boolean DEBUG = false; 34202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa 35202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa /** 36202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * Confirms the app fetches a stored contact from resolver and output the name as part of 37202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa * a vCard string. 38202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa */ 39202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa public void testCompose() { 40202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa createRawContactWithName("John", "Doe"); 41202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa final VCardComposer composer = new VCardComposer( 42202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa getContext(), mResolver, VCardConfig.VCARD_TYPE_DEFAULT, null, true); 43202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa assertTrue(composer.init()); 44202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa int total = composer.getCount(); 45202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa assertEquals(1, total); 467df711d8b184abb8ec97516de2553c470264293fDaisuke Miyakawa String vcard = composer.createOneEntry(); 47202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa assertNotNull(vcard); 48202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa 49202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa // Check vCard very roughly. 50202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa assertTrue(vcard.contains("John")); 51202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa assertTrue(vcard.contains("Doe")); 52202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa } 53202c910991d5bdf26e7db248009296425474e961Daisuke Miyakawa} 54