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