VCardJapanizationTests.java revision 673c1d1fc9f3c004e999f763a9c718e656497d32
14fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa/* 24fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * Copyright (C) 2009 The Android Open Source Project 34fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * 44fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * Licensed under the Apache License, Version 2.0 (the "License"); 54fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * you may not use this file except in compliance with the License. 64fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * You may obtain a copy of the License at 74fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * 84fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * http://www.apache.org/licenses/LICENSE-2.0 94fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * 104fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * Unless required by applicable law or agreed to in writing, software 114fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * distributed under the License is distributed on an "AS IS" BASIS, 124fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * See the License for the specific language governing permissions and 144fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * limitations under the License. 154fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa */ 164fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 174fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawapackage com.android.unit_tests.vcard; 184fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 194fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawaimport android.content.ContentValues; 204fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawaimport android.pim.vcard.VCardConfig; 21839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Note; 22839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Phone; 234fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.StructuredName; 245a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.StructuredPostal; 254fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 264fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawaimport com.android.unit_tests.vcard.PropertyNodesVerifierElem.TypeSet; 274fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 284fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawaimport java.util.Arrays; 294fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 304fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawapublic class VCardJapanizationTests extends VCardTestsBase { 314fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa private void testNameUtf8Common(int vcardType) { 32673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(vcardType); 33673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 34673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredName.CONTENT_ITEM_TYPE) 354fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u3075\u308B\u3069") 364fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.GIVEN_NAME, "\u3091\u308A\u304B") 374fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.MIDDLE_NAME, "B") 384fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.PREFIX, "Dr.") 394fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.SUFFIX, "Ph.D"); 404fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa ContentValues contentValues = 414fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa (VCardConfig.isV30(vcardType) ? null : mContentValuesForQPAndUtf8); 42673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 43673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("FN", "Dr. \u3075\u308B\u3069 B \u3091\u308A\u304B Ph.D", 444fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa contentValues) 45673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("N", "\u3075\u308B\u3069;\u3091\u308A\u304B;B;Dr.;Ph.D", 464fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa Arrays.asList( 474fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa "\u3075\u308B\u3069", "\u3091\u308A\u304B", "B", "Dr.", "Ph.D"), 484fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa null, contentValues, null, null); 494fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa } 504fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 514fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa public void testNameUtf8V21() { 524fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa testNameUtf8Common(VCardConfig.VCARD_TYPE_V21_JAPANESE_UTF8); 534fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa } 544fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 554fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa public void testNameUtf8V30() { 564fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa testNameUtf8Common(VCardConfig.VCARD_TYPE_V30_JAPANESE_UTF8); 574fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa } 584fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 594fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa public void testNameShiftJis() { 60673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_V30_JAPANESE_SJIS); 61673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 62673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredName.CONTENT_ITEM_TYPE) 634fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u3075\u308B\u3069") 644fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.GIVEN_NAME, "\u3091\u308A\u304B") 654fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.MIDDLE_NAME, "B") 664fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.PREFIX, "Dr.") 674fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.SUFFIX, "Ph.D"); 684fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 69673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 70673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("FN", "Dr. \u3075\u308B\u3069 B \u3091\u308A\u304B Ph.D", 714fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa mContentValuesForSJis) 72673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("N", "\u3075\u308B\u3069;\u3091\u308A\u304B;B;Dr.;Ph.D", 734fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa Arrays.asList( 744fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa "\u3075\u308B\u3069", "\u3091\u308A\u304B", "B", "Dr.", "Ph.D"), 754fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa null, mContentValuesForSJis, null, null); 764fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa } 774fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 784fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa /** 794fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa * DoCoMo phones require all name elements should be in "family name" field. 804fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa */ 814fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa public void testNameDoCoMo() { 82673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_DOCOMO); 83673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 84673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredName.CONTENT_ITEM_TYPE) 854fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u3075\u308B\u3069") 864fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.GIVEN_NAME, "\u3091\u308A\u304B") 874fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.MIDDLE_NAME, "B") 884fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.PREFIX, "Dr.") 894fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa .put(StructuredName.SUFFIX, "Ph.D"); 904fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa 914fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa final String fullName = "Dr. \u3075\u308B\u3069 B \u3091\u308A\u304B Ph.D"; 92673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 93673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("N", fullName + ";;;;", 944fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa Arrays.asList(fullName, "", "", "", ""), 954fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa null, mContentValuesForSJis, null, null) 96673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("FN", fullName, mContentValuesForSJis) 97673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("SOUND", ";;;;", new TypeSet("X-IRMC-N")) 98673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "", new TypeSet("HOME")) 99673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("EMAIL", "", new TypeSet("HOME")) 100673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("ADR", "", new TypeSet("HOME")) 101673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-CLASS", "PUBLIC") 102673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-REDUCTION", "") 103673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-NO", "") 104673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-DCM-HMN-MODE", ""); 1054fe2c57c3c123dfd0c335b2390a661bcb7b546fbDaisuke Miyakawa } 106592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 107592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa private void testPhoneticNameCommon(int vcardType) { 108673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(vcardType); 109673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 110673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredName.CONTENT_ITEM_TYPE) 111592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_FAMILY_NAME, "\u3084\u307E\u3060") 112592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_MIDDLE_NAME, "\u30DF\u30C9\u30EB\u30CD\u30FC\u30E0") 113592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, "\u305F\u308D\u3046"); 114592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 115592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa final ContentValues contentValues = 116592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa (VCardConfig.usesShiftJis(vcardType) ? 117592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa (VCardConfig.isV30(vcardType) ? mContentValuesForSJis : 118592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa mContentValuesForQPAndSJis) : 119592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa (VCardConfig.isV30(vcardType) ? null : mContentValuesForQPAndUtf8)); 120673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa PropertyNodesVerifierElem elem = mVerifier.addPropertyNodesVerifierElemWithEmptyName(); 121673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa elem.addExpectedNode("X-PHONETIC-LAST-NAME", "\u3084\u307E\u3060", 122592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa contentValues) 123673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-PHONETIC-MIDDLE-NAME", 124592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\u30DF\u30C9\u30EB\u30CD\u30FC\u30E0", 125592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa contentValues) 126673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-PHONETIC-FIRST-NAME", "\u305F\u308D\u3046", 127592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa contentValues); 128592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa if (VCardConfig.isV30(vcardType)) { 129673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa elem.addExpectedNode("SORT-STRING", 130592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\u3084\u307E\u3060 \u30DF\u30C9\u30EB\u30CD\u30FC\u30E0 \u305F\u308D\u3046", 131592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa contentValues); 132592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa } 133673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContentValuesBuilder builder = mVerifier.addContentValuesVerifierElem() 134592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .addExpected(StructuredName.CONTENT_ITEM_TYPE); 135592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa builder.put(StructuredName.PHONETIC_FAMILY_NAME, "\u3084\u307E\u3060") 136592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_MIDDLE_NAME, "\u30DF\u30C9\u30EB\u30CD\u30FC\u30E0") 137592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, "\u305F\u308D\u3046") 138592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, 139592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\u3084\u307E\u3060 \u30DF\u30C9\u30EB\u30CD\u30FC\u30E0 " + 140592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\u305F\u308D\u3046"); 141592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa } 142592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 143592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa public void testPhoneticNameForJapaneseV21Utf8() { 144592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa testPhoneticNameCommon(VCardConfig.VCARD_TYPE_V21_JAPANESE_UTF8); 145592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa } 146592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 147592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa public void testPhoneticNameForJapaneseV21Sjis() { 148592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa testPhoneticNameCommon(VCardConfig.VCARD_TYPE_V21_JAPANESE_SJIS); 149592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa } 150592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 151592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa public void testPhoneticNameForJapaneseV30Utf8() { 152592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa testPhoneticNameCommon(VCardConfig.VCARD_TYPE_V30_JAPANESE_UTF8); 153592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa } 154592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 155592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa public void testPhoneticNameForJapaneseV30SJis() { 156592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa testPhoneticNameCommon(VCardConfig.VCARD_TYPE_V30_JAPANESE_SJIS); 157592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa } 158592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 159592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa public void testPhoneticNameForMobileV21_1() { 160673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_V21_JAPANESE_MOBILE); 161673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 162673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredName.CONTENT_ITEM_TYPE) 163592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_FAMILY_NAME, "\u3084\u307E\u3060") 164592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_MIDDLE_NAME, "\u30DF\u30C9\u30EB\u30CD\u30FC\u30E0") 165592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, "\u305F\u308D\u3046"); 166592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 167673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 168673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("SOUND", 169592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\uFF94\uFF8F\uFF80\uFF9E \uFF90\uFF84\uFF9E\uFF99\uFF88\uFF70\uFF91 " + 170592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\uFF80\uFF9B\uFF73;;;;", 171592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa mContentValuesForSJis, new TypeSet("X-IRMC-N")); 172673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContentValuesBuilder builder = mVerifier.addContentValuesVerifierElem() 173592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .addExpected(StructuredName.CONTENT_ITEM_TYPE); 174592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa builder.put(StructuredName.PHONETIC_FAMILY_NAME, "\uFF94\uFF8F\uFF80\uFF9E") 175592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_MIDDLE_NAME, 176592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\uFF90\uFF84\uFF9E\uFF99\uFF88\uFF70\uFF91") 177592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, "\uFF80\uFF9B\uFF73") 178592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, 179592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\uFF94\uFF8F\uFF80\uFF9E \uFF90\uFF84\uFF9E\uFF99\uFF88\uFF70\uFF91 " + 180592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa "\uFF80\uFF9B\uFF73"); 181592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa } 182592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 183592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa public void testPhoneticNameForMobileV21_2() { 184673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_V21_JAPANESE_MOBILE); 185673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 186673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredName.CONTENT_ITEM_TYPE) 187592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_FAMILY_NAME, "\u3084\u307E\u3060") 188592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, "\u305F\u308D\u3046"); 189592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa 190673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 191673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("SOUND", "\uFF94\uFF8F\uFF80\uFF9E \uFF80\uFF9B\uFF73;;;;", 192592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa mContentValuesForSJis, new TypeSet("X-IRMC-N")); 193673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContentValuesBuilder builder = mVerifier.addContentValuesVerifierElem() 194592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .addExpected(StructuredName.CONTENT_ITEM_TYPE); 195592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa builder.put(StructuredName.PHONETIC_FAMILY_NAME, "\uFF94\uFF8F\uFF80\uFF9E") 196592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, "\uFF80\uFF9B\uFF73") 197592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "\uFF94\uFF8F\uFF80\uFF9E \uFF80\uFF9B\uFF73"); 198592988d307e8d305ca163c4e58da0fb350054194Daisuke Miyakawa } 1995a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa 200c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa private void testPostalAddressWithJapaneseCommon(int vcardType) { 201673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(vcardType); 202673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 203673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 204c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.POBOX, "\u79C1\u66F8\u7BB107") 205c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.STREET, "\u96DB\u898B\u6CA2\u6751") 206c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.CITY, "\u9E7F\u9AA8\u5E02") 207c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.REGION, "\u00D7\u00D7\u770C") 208c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.POSTCODE, "494-1313") 209c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.COUNTRY, "\u65E5\u672C") 210c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.FORMATTED_ADDRESS, 211c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa "\u3053\u3093\u306A\u3068\u3053\u308D\u3092\u898B" 212c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa + "\u308B\u306A\u3093\u3066\u6687\u4EBA\u3067\u3059\u304B\uFF1F") 213c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_CUSTOM) 214c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa .put(StructuredPostal.LABEL, "\u304A\u3082\u3061\u304B\u3048\u308A"); 215c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa 216c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa ContentValues contentValues = (VCardConfig.usesShiftJis(vcardType) ? 217c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa (VCardConfig.isV30(vcardType) ? mContentValuesForSJis : 218c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa mContentValuesForQPAndSJis) : 219c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa (VCardConfig.isV30(vcardType) ? mContentValuesForUtf8 : 220c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa mContentValuesForQPAndUtf8)); 221c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa 222673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa PropertyNodesVerifierElem elem = mVerifier.addPropertyNodesVerifierElemWithEmptyName(); 223c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa // LABEL must be ignored in vCard 2.1. As for vCard 3.0, the current behavior is 224c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa // same as that in vCard 3.0, which can be changed in the future. 225673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa elem.addExpectedNode("ADR", Arrays.asList("\u79C1\u66F8\u7BB107", 226639b0f032bd933286a89812544460680a6a01ae4Daisuke Miyakawa "", "\u96DB\u898B\u6CA2\u6751", "\u9E7F\u9AA8\u5E02", "\u00D7\u00D7\u770C", 227c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa "494-1313", "\u65E5\u672C"), 228c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa contentValues); 229673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addContentValuesVerifierElem().addExpected(StructuredPostal.CONTENT_ITEM_TYPE) 230a6d81e3ee4cf12ade1ef6701b5f1fcdd390fc98aDaisuke Miyakawa .put(StructuredPostal.POBOX, "\u79C1\u66F8\u7BB107") 231639b0f032bd933286a89812544460680a6a01ae4Daisuke Miyakawa .put(StructuredPostal.STREET, "\u96DB\u898B\u6CA2\u6751") 232639b0f032bd933286a89812544460680a6a01ae4Daisuke Miyakawa .put(StructuredPostal.CITY, "\u9E7F\u9AA8\u5E02") 233a6d81e3ee4cf12ade1ef6701b5f1fcdd390fc98aDaisuke Miyakawa .put(StructuredPostal.REGION, "\u00D7\u00D7\u770C") 234a6d81e3ee4cf12ade1ef6701b5f1fcdd390fc98aDaisuke Miyakawa .put(StructuredPostal.POSTCODE, "494-1313") 235a6d81e3ee4cf12ade1ef6701b5f1fcdd390fc98aDaisuke Miyakawa .put(StructuredPostal.COUNTRY, "\u65E5\u672C") 236a6d81e3ee4cf12ade1ef6701b5f1fcdd390fc98aDaisuke Miyakawa .put(StructuredPostal.FORMATTED_ADDRESS, 237a6d81e3ee4cf12ade1ef6701b5f1fcdd390fc98aDaisuke Miyakawa "\u65E5\u672C 494-1313 \u00D7\u00D7\u770C \u9E7F\u9AA8\u5E02 " + 238639b0f032bd933286a89812544460680a6a01ae4Daisuke Miyakawa "\u96DB\u898B\u6CA2\u6751 " + "\u79C1\u66F8\u7BB107") 239a6d81e3ee4cf12ade1ef6701b5f1fcdd390fc98aDaisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_HOME); 240c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa } 241c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa public void testPostalAddresswithJapaneseV21() { 242c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa testPostalAddressWithJapaneseCommon(VCardConfig.VCARD_TYPE_V21_JAPANESE_SJIS); 243c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa } 244c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa 2455a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa /** 2465a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa * Verifies that only one address field is emitted toward DoCoMo phones. 2475a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa * Prefered type must (should?) be: HOME > WORK > OTHER > CUSTOM 2485a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa */ 249c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa public void testPostalAdrressForDoCoMo_1() { 250673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_DOCOMO); 251673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 252673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 2535a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK) 2545a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "1"); 255673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 2565a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_OTHER) 2575a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "2"); 258673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 2595a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_HOME) 2605a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "3"); 261673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 2625a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_CUSTOM) 2635a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.LABEL, "custom") 2645a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "4"); 2655a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa 266673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElemWithEmptyName() 267673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "", new TypeSet("HOME")) 268673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("EMAIL", "", new TypeSet("HOME")) 269673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-CLASS", "PUBLIC") 270673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-REDUCTION", "") 271673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-NO", "") 272673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-DCM-HMN-MODE", "") 273673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("ADR", 2745a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa Arrays.asList("3", "", "", "", "", "", ""), new TypeSet("HOME")); 2755a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa } 2765a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa 277c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa public void testPostalAdrressForDoCoMo_2() { 278673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_DOCOMO); 279673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 280673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 2815a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_OTHER) 2825a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "1"); 283673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 2845a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK) 2855a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "2"); 286673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 2875a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_CUSTOM) 2885a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.LABEL, "custom") 2895a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "3"); 2905a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa 291673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElemWithEmptyName() 292673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "", new TypeSet("HOME")) 293673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("EMAIL", "", new TypeSet("HOME")) 294673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-CLASS", "PUBLIC") 295673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-REDUCTION", "") 296673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-NO", "") 297673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-DCM-HMN-MODE", "") 298673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("ADR", 2995a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa Arrays.asList("2", "", "", "", "", "", ""), new TypeSet("WORK")); 3005a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa } 3015a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa 302c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa public void testPostalAdrressForDoCoMo_3() { 303673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_DOCOMO); 304673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 305673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 3065a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_CUSTOM) 3075a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.LABEL, "custom1") 3085a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "1"); 309673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 3105a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_OTHER) 3115a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "2"); 312673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 3135a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_CUSTOM) 3145a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.LABEL, "custom2") 3155a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "3"); 3165a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa 317673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElemWithEmptyName() 318673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "", new TypeSet("HOME")) 319673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("EMAIL", "", new TypeSet("HOME")) 320673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-CLASS", "PUBLIC") 321673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-REDUCTION", "") 322673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-NO", "") 323673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-DCM-HMN-MODE", "") 324673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("ADR", Arrays.asList("2", "", "", "", "", "", "")); 3255a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa } 3265a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa 3275a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa /** 3285a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa * Verifies the vCard exporter tolerates null TYPE. 3295a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa */ 330c4b51712d89e9fb742b598911e611c80ad51de82Daisuke Miyakawa public void testPostalAdrressForDoCoMo_4() { 331673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_DOCOMO); 332673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 333673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 3345a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "1"); 335673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 3365a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_OTHER) 3375a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "2"); 338673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 3395a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_HOME) 3405a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "3"); 341673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 3425a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK) 3435a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "4"); 344673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(StructuredPostal.CONTENT_ITEM_TYPE) 3455a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa .put(StructuredPostal.POBOX, "5"); 3465a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa 347673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElemWithEmptyName() 348673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "", new TypeSet("HOME")) 349673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("EMAIL", "", new TypeSet("HOME")) 350673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-CLASS", "PUBLIC") 351673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-REDUCTION", "") 352673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-NO", "") 353673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-DCM-HMN-MODE", "") 354673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("ADR", 3555a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa Arrays.asList("3", "", "", "", "", "", ""), new TypeSet("HOME")); 3565a1f2d2de026b582fbe8b1a46a83ad33760a2c48Daisuke Miyakawa } 357839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa 358839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa private void testJapanesePhoneNumberCommon(int vcardType) { 359673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(vcardType); 360673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 361673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(Phone.CONTENT_ITEM_TYPE) 362839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa .put(Phone.NUMBER, "0312341234") 363839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_HOME); 364673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(Phone.CONTENT_ITEM_TYPE) 365839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa .put(Phone.NUMBER, "09012341234") 366839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_MOBILE); 367673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElemWithEmptyName() 368673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "03-1234-1234", new TypeSet("HOME")) 369673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "090-1234-1234", new TypeSet("CELL")); 370839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa } 371839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa 372839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa public void testJapanesePhoneNumberV21_1() { 373839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa testJapanesePhoneNumberCommon(VCardConfig.VCARD_TYPE_V21_JAPANESE_UTF8); 374839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa } 375839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa 376839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa public void testJapanesePhoneNumberV30() { 377839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa testJapanesePhoneNumberCommon(VCardConfig.VCARD_TYPE_V30_JAPANESE_UTF8); 378839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa } 379839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa 380673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa public void testJapanesePhoneNumberDoCoMo() { 381673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_DOCOMO); 382673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 383673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(Phone.CONTENT_ITEM_TYPE) 384673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .put(Phone.NUMBER, "0312341234") 385673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_HOME); 386673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(Phone.CONTENT_ITEM_TYPE) 387673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .put(Phone.NUMBER, "09012341234") 388673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_MOBILE); 389673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElemWithEmptyName() 390673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("EMAIL", "", new TypeSet("HOME")) 391673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-CLASS", "PUBLIC") 392673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-REDUCTION", "") 393673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-NO", "") 394673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-DCM-HMN-MODE", "") 395673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("ADR", "", new TypeSet("HOME")) 396673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "03-1234-1234", new TypeSet("HOME")) 397673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "090-1234-1234", new TypeSet("CELL")); 398673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa } 399673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa 400839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa public void testNoteDoCoMo() { 401673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.initForExportTest(VCardConfig.VCARD_TYPE_DOCOMO); 402673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa ContactEntry entry = mVerifier.addInputEntry(); 403673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(Note.CONTENT_ITEM_TYPE) 404839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa .put(Note.NOTE, "note1"); 405673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(Note.CONTENT_ITEM_TYPE) 406839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa .put(Note.NOTE, "note2"); 407673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa entry.addContentValues(Note.CONTENT_ITEM_TYPE) 408839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa .put(Note.NOTE, "note3"); 409839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa 410839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa // More than one note fields must be aggregated into one note. 411673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElemWithEmptyName() 412673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("TEL", "", new TypeSet("HOME")) 413673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("EMAIL", "", new TypeSet("HOME")) 414673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-CLASS", "PUBLIC") 415673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-REDUCTION", "") 416673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-NO", "") 417673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("X-DCM-HMN-MODE", "") 418673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("ADR", "", new TypeSet("HOME")) 419673c1d1fc9f3c004e999f763a9c718e656497d32Daisuke Miyakawa .addExpectedNode("NOTE", "note1\nnote2\nnote3", mContentValuesForQP); 420839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa } 421839c036444c8a5335cc557e174acc7ee28baafc4Daisuke Miyakawa} 422