14199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa/* 24199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Copyright (C) 2009 The Android Open Source Project 34199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * 44199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Licensed under the Apache License, Version 2.0 (the "License"); 54199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * you may not use this file except in compliance with the License. 64199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * You may obtain a copy of the License at 74199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * 84199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * http://www.apache.org/licenses/LICENSE-2.0 94199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * 104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Unless required by applicable law or agreed to in writing, software 114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * distributed under the License is distributed on an "AS IS" BASIS, 124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * See the License for the specific language governing permissions and 144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * limitations under the License. 154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawapackage com.android.vcard.tests; 174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.content.ContentValues; 194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Email; 204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Event; 2106ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Im; 2206ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Nickname; 234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Note; 244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Organization; 254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Phone; 264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Photo; 2788d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.SipAddress; 284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.StructuredName; 294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.StructuredPostal; 304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.CommonDataKinds.Website; 31d5a8fc2a35c69fc34df35fd545ccf83d548ba50cDaisuke Miyakawaimport android.provider.ContactsContract.Data; 324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 33a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Chengimport com.android.vcard.VCardConfig; 34a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Chengimport com.android.vcard.tests.testutils.ContentValuesVerifier; 35a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Chengimport com.android.vcard.tests.testutils.ContentValuesVerifierElem; 36a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Chengimport com.android.vcard.tests.testutils.PropertyNodesVerifierElem.TypeSet; 37a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Chengimport com.android.vcard.tests.testutils.VCardTestsBase; 38a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng 394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport java.util.Arrays; 404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawapublic class VCardImporterTests extends VCardTestsBase { 424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // Push data into int array at first since values like 0x80 are 434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // interpreted as int by the compiler and casting all of them is 444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // cumbersome... 454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private static final int[] sPhotoIntArrayForComplicatedCase = { 464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xff, 0xd8, 0xff, 0xe1, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x66, 0x00, 474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x4d, 0x4d, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0d, 484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x0e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xaa, 0x01, 0x0f, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0xba, 0x01, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0xc2, 0x01, 0x12, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x00, 0x00, 0x01, 0x1a, 0x00, 0x05, 0x00, 0x00, 0x00, 534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x00, 0x00, 0x00, 0xc8, 0x01, 0x1b, 0x00, 0x05, 0x00, 0x00, 544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x00, 0x00, 0x00, 0xd0, 0x01, 0x28, 0x00, 0x03, 0x00, 554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x01, 0x31, 0x00, 0x02, 564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xd8, 0x01, 0x32, 0x00, 574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xe6, 0x02, 0x13, 584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x82, 594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x98, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xfa, 604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x87, 0x69, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x84, 0xc4, 0xa5, 0x00, 0x07, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x08, 0x00, 0x00, 0x04, 0x1e, 0x32, 0x30, 0x30, 0x38, 0x31, 634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x30, 0x32, 0x39, 0x31, 0x33, 0x35, 0x35, 0x33, 0x31, 0x00, 0x00, 644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x44, 0x6f, 0x43, 0x6f, 0x4d, 0x6f, 0x00, 0x00, 0x44, 0x39, 0x30, 654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x35, 0x69, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x44, 0x39, 0x30, 674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x35, 0x69, 0x20, 0x56, 0x65, 0x72, 0x31, 0x2e, 0x30, 0x30, 0x00, 684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x32, 0x30, 0x30, 0x38, 0x3a, 0x31, 0x30, 0x3a, 0x32, 0x39, 0x20, 694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x31, 0x33, 0x3a, 0x35, 0x35, 0x3a, 0x34, 0x37, 0x00, 0x20, 0x20, 704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x49, 0x4d, 0x00, 0x30, 0x33, 724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x30, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x14, 0x00, 734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x14, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x34, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x01, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x11, 0x09, 0x00, 0x00, 0x27, 0x10, 0x00, 0x00, 0x0f, 0x0b, 0x00, 774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x27, 0x10, 0x00, 0x00, 0x05, 0x97, 0x00, 0x00, 0x27, 0x10, 784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x08, 0xb0, 0x00, 0x00, 0x27, 0x10, 0x00, 0x00, 0x1c, 794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x00, 0x00, 0x27, 0x10, 0x00, 0x00, 0x02, 0x5e, 0x00, 0x00, 804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x27, 0x10, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x27, 0x10, 0x00, 814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x03, 0xcb, 0x00, 0x00, 0x27, 0x10, 0x00, 0x00, 0x1b, 0xe5, 824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x27, 0x10, 0x00, 0x28, 0x82, 0x9a, 0x00, 0x05, 0x00, 834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x6a, 0x82, 0x9d, 0x00, 0x05, 844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x72, 0x88, 0x22, 0x00, 854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x90, 0x00, 864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x30, 0x32, 0x32, 0x30, 0x90, 874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x03, 0x7a, 884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x90, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x03, 894199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x8e, 0x91, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x01, 0x02, 904199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x03, 0x00, 0x91, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 914199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x03, 0xa2, 0x92, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x03, 0xaa, 0x92, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x00, 0x00, 0x03, 0xb2, 0x92, 0x04, 0x00, 0x0a, 0x00, 0x00, 944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x00, 0x00, 0x03, 0xba, 0x92, 0x05, 0x00, 0x05, 0x00, 954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0xc2, 0x92, 0x07, 0x00, 0x03, 964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x92, 0x08, 0x00, 974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x92, 0x09, 984199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x92, 994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0a, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0xca, 1004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x92, 0x7c, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x92, 0x86, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 1024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x03, 0xd2, 0xa0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x30, 1034199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x31, 0x30, 0x30, 0xa0, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 1044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x00, 0x00, 0xa0, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 1054199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x00, 0x60, 0x00, 0x00, 0xa0, 0x03, 0x00, 0x03, 0x00, 0x00, 1064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x00, 0x48, 0x00, 0x00, 0xa0, 0x05, 0x00, 0x04, 0x00, 1074199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0xa2, 0x0e, 0x00, 0x05, 1084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0xe8, 0xa2, 0x0f, 0x00, 1094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0xf0, 0xa2, 0x10, 1104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0xa2, 1114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x17, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 1124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa3, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 1134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0xa3, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 1144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0xa4, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 1154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0xa4, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 1164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x00, 0xa4, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 1174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x04, 0x00, 0x05, 0x00, 0x00, 1184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x00, 0x00, 0x03, 0xf8, 0xa4, 0x05, 0x00, 0x03, 0x00, 1194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x01, 0x00, 0x1d, 0x00, 0x00, 0xa4, 0x06, 0x00, 0x03, 1204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x07, 0x00, 1214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x08, 1224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xa4, 1234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x09, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa4, 0x0a, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0xa4, 0x0c, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 1264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 1274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x27, 0x10, 0x00, 0x00, 0x01, 0x5e, 0x00, 0x00, 0x00, 0x64, 1284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x32, 0x30, 0x30, 0x38, 0x3a, 0x31, 0x30, 0x3a, 0x32, 0x39, 0x20, 1294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x31, 0x33, 0x3a, 0x35, 0x35, 0x3a, 0x33, 0x31, 0x00, 0x32, 0x30, 1304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x30, 0x38, 0x3a, 0x31, 0x30, 0x3a, 0x32, 0x39, 0x20, 0x31, 0x33, 1314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3a, 0x35, 0x35, 0x3a, 0x34, 0x37, 0x00, 0x00, 0x00, 0x29, 0x88, 1324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x02, 0xb2, 0x00, 0x00, 0x00, 1334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x64, 0x00, 0x00, 0x01, 0x5e, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 1344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x25, 0x00, 1354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x0a, 0x00, 0x00, 0x0e, 0x92, 0x00, 0x00, 0x03, 0xe8, 1364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x30, 0x30, 1374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x38, 0x31, 0x30, 0x32, 0x39, 0x31, 0x33, 0x35, 0x35, 0x33, 0x31, 1384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x20, 0x2a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x2a, 1394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe2, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 1414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x04, 0x52, 0x39, 0x38, 0x00, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, 1424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x04, 0x30, 0x31, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 1434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x06, 0x01, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 1444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x01, 0x1a, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 1454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x04, 0x6c, 0x01, 0x1b, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 1464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x04, 0x74, 0x01, 0x28, 0x00, 0x03, 0x00, 0x00, 0x00, 1474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x00, 0x02, 0x00, 0x00, 0x02, 0x01, 0x00, 0x04, 0x00, 0x00, 1484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x00, 0x00, 0x04, 0x7c, 0x02, 0x02, 0x00, 0x04, 0x00, 1494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x01, 0x00, 0x00, 0x05, 0x8b, 0x00, 0x00, 0x00, 0x00, 1504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x48, 0x00, 0x00, 0x00, 0x01, 0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 1524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x20, 0x16, 0x18, 0x1c, 0x18, 0x14, 0x20, 0x1c, 0x1a, 0x1c, 1534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x24, 0x22, 0x20, 0x26, 0x30, 0x50, 0x34, 0x30, 0x2c, 0x2c, 0x30, 1544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x62, 0x46, 0x4a, 0x3a, 0x50, 0x74, 0x66, 0x7a, 0x78, 0x72, 0x66, 1554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x70, 0x6e, 0x80, 0x90, 0xb8, 0x9c, 0x80, 0x88, 0xae, 0x8a, 0x6e, 1564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x70, 0xa0, 0xda, 0xa2, 0xae, 0xbe, 0xc4, 0xce, 0xd0, 0xce, 0x7c, 1574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x9a, 0xe2, 0xf2, 0xe0, 0xc8, 0xf0, 0xb8, 0xca, 0xce, 0xc6, 0x01, 1584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x22, 0x24, 0x24, 0x30, 0x2a, 0x30, 0x5e, 0x34, 0x34, 0x5e, 0xc6, 1594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x84, 0x70, 0x84, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 1604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 1614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 1624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 1634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xff, 0xc0, 1644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x11, 0x08, 0x00, 0x78, 0x00, 0xa0, 0x03, 0x01, 0x21, 0x00, 1654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x02, 0x11, 0x01, 0x03, 0x11, 0x01, 0xff, 0xc4, 0x01, 0xa2, 0x00, 1664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 1674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 1684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x10, 0x00, 0x02, 0x01, 0x03, 1694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x03, 0x02, 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 1704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x7d, 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 1714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 1724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x91, 0xa1, 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, 1734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, 1744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x1a, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 1754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 1764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 1774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 1784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x79, 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 1794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 1804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 1814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 1824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 1834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf1, 1844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0x01, 0x00, 1854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 1864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 1874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 1884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x04, 0x03, 0x04, 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 1894199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 1904199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 1914199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x42, 0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 0x15, 1924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 0xf1, 0x17, 1934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x18, 0x19, 0x1a, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 1944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 1954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 1964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 1974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 1984199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 1994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 2004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 2014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 2024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xda, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf2, 2034199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xff, 0xda, 0x00, 2044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0c, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3f, 0x00, 2054199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x14, 0x54, 0xaa, 0x2a, 0x46, 0x48, 0xa2, 0xa4, 0x55, 0xa6, 0x04, 2064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x8a, 0x29, 0xe0, 0x53, 0x10, 0xe0, 0x29, 0xc0, 0x50, 0x03, 0xb1, 2074199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x46, 0x29, 0x80, 0x84, 0x52, 0x11, 0x40, 0x0d, 0x22, 0x9a, 0x45, 2084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x20, 0x23, 0x61, 0x51, 0x30, 0xa0, 0x08, 0xc8, 0xa8, 0xd8, 0x52, 2094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x02, 0x26, 0x15, 0x0b, 0x0a, 0x00, 0xb4, 0xa2, 0xa5, 0x5a, 0x00, 2104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x91, 0x45, 0x4a, 0xa2, 0x81, 0x92, 0x01, 0x4e, 0x02, 0x98, 0x87, 2114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0a, 0x70, 0xa0, 0x07, 0x62, 0x8c, 0x50, 0x21, 0x0d, 0x25, 0x00, 2124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x34, 0x8a, 0x61, 0x14, 0x0c, 0x63, 0x0a, 0x89, 0x85, 0x00, 0x46, 2134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd5, 0x1b, 0x52, 0x02, 0x16, 0xa8, 0x98, 0x50, 0x05, 0x94, 0xa9, 2144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x16, 0x80, 0x25, 0x5a, 0x95, 0x68, 0x18, 0xf1, 0x4f, 0x14, 0xc4, 2154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3b, 0xb5, 0x22, 0xb6, 0x38, 0x34, 0x00, 0xe3, 0x22, 0x8e, 0xf4, 2164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x79, 0x8a, 0x7b, 0xd1, 0x71, 0x03, 0x30, 0xc7, 0x14, 0x83, 0xa5, 2174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x06, 0x98, 0x68, 0x01, 0x8d, 0x51, 0x35, 0x03, 0x22, 0x6a, 2184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x8d, 0xa9, 0x01, 0x13, 0x54, 0x4d, 0x40, 0x13, 0xa5, 0x4a, 0x28, 2194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x02, 0x45, 0x35, 0x2a, 0x9a, 0x00, 0x78, 0x34, 0xf0, 0x69, 0x80, 2204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x34, 0x81, 0x45, 0x40, 0xce, 0x58, 0xe6, 0xa2, 0x4c, 0x06, 0xe4, 2214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xfa, 0xd1, 0x93, 0x50, 0x21, 0xca, 0xe4, 0x55, 0x84, 0x90, 0x30, 2224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xab, 0x8b, 0x18, 0xa6, 0x9a, 0x6a, 0xc4, 0x31, 0xaa, 0x26, 0xa0, 2234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x64, 0x4d, 0x51, 0xb5, 0x20, 0x23, 0x6a, 0x89, 0xa8, 0x02, 0x44, 2244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x35, 0x2a, 0x9a, 0x00, 0x95, 0x4d, 0x48, 0xa6, 0x80, 0x24, 0x53, 2254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x4e, 0xce, 0x05, 0x30, 0x2b, 0x3b, 0xee, 0x6a, 0x91, 0x5d, 0x76, 2264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x63, 0xbd, 0x65, 0x7d, 0x40, 0x66, 0x68, 0xa9, 0x02, 0x45, 0x2b, 2274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb3, 0x9e, 0xb4, 0xc5, 0x6d, 0xad, 0x9a, 0xa0, 0x2c, 0x06, 0xc8, 2284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xcd, 0x04, 0xd6, 0xa2, 0x23, 0x63, 0x51, 0xb1, 0xa0, 0x64, 0x4d, 2294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x51, 0x93, 0x48, 0x08, 0xda, 0xa2, 0x6a, 0x00, 0x72, 0x1a, 0x99, 2304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x4d, 0x00, 0x48, 0xa6, 0xa4, 0x53, 0x4c, 0x07, 0x86, 0x03, 0xbd, 2314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x2b, 0x9c, 0xa7, 0x14, 0x98, 0x10, 0x85, 0x34, 0xe0, 0xa6, 0xb3, 2324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb0, 0x0b, 0xb5, 0xa8, 0x0a, 0xd4, 0x58, 0x42, 0xed, 0x3e, 0x94, 2334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd2, 0xa6, 0x8b, 0x01, 0x34, 0x44, 0xed, 0xe6, 0x9c, 0x4d, 0x6a, 2344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x80, 0x8d, 0x8d, 0x46, 0xc6, 0x80, 0x23, 0x63, 0x51, 0x9a, 0x06, 2354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x46, 0xd5, 0x13, 0x52, 0x01, 0x54, 0xd4, 0xaa, 0x68, 0x02, 0x40, 2364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x6a, 0x40, 0x78, 0xa0, 0x08, 0x59, 0xce, 0xee, 0xb5, 0x2a, 0x39, 2374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd9, 0x59, 0xa7, 0xa8, 0x00, 0x73, 0xeb, 0x4e, 0x0e, 0x7d, 0x69, 2384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x5c, 0x05, 0xf3, 0x0f, 0xad, 0x1e, 0x61, 0xf5, 0xa7, 0x71, 0x0b, 2394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe6, 0x35, 0x21, 0x90, 0xd3, 0xb8, 0x0e, 0x32, 0x10, 0x95, 0x10, 2404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x91, 0xb3, 0xd6, 0x9b, 0x60, 0x4b, 0x9c, 0x8a, 0x63, 0x1a, 0xb0, 2414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x18, 0x4d, 0x46, 0xc6, 0x80, 0x22, 0x6a, 0x61, 0xa4, 0x31, 0xaa, 2424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x6a, 0x55, 0x34, 0x01, 0x2a, 0x9a, 0x7e, 0x78, 0xa0, 0x08, 0x09, 2434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xf9, 0xaa, 0x58, 0xcf, 0xca, 0x6b, 0x3e, 0xa0, 0x00, 0xd3, 0x81, 2444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa9, 0x01, 0x73, 0x46, 0x69, 0x80, 0xb9, 0xa4, 0xcd, 0x00, 0x2b, 2454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x1f, 0x92, 0xa3, 0x07, 0x9a, 0x6f, 0x70, 0x26, 0xcf, 0x14, 0xd2, 2464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x6b, 0x51, 0x0c, 0x63, 0x51, 0xb1, 0xa0, 0x08, 0xda, 0x98, 0x69, 2474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0c, 0x8d, 0x4d, 0x4a, 0xa6, 0x80, 0x24, 0x53, 0x52, 0x03, 0xc5, 2484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x02, 0x21, 0x27, 0xe6, 0xa9, 0x23, 0x3f, 0x29, 0xac, 0xfa, 0x8c, 2494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0xe6, 0x9c, 0x0d, 0x48, 0x0a, 0x0d, 0x2e, 0x68, 0x01, 0x73, 2504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x49, 0x9a, 0x60, 0x2b, 0x1f, 0x92, 0x98, 0x3a, 0xd3, 0x7b, 0x81, 2514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x36, 0x78, 0xa6, 0x93, 0x5a, 0x88, 0x8c, 0x9a, 0x63, 0x1a, 0x00, 2524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x8c, 0xd3, 0x0d, 0x21, 0x91, 0x29, 0xa9, 0x14, 0xd0, 0x04, 0x8a, 2534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x69, 0xe0, 0xd3, 0x11, 0x1b, 0x1e, 0x6a, 0x48, 0xcf, 0xca, 0x6b, 2544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3e, 0xa3, 0x10, 0x1a, 0x70, 0x35, 0x20, 0x38, 0x1a, 0x5c, 0xd2, 2554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x73, 0x49, 0x9a, 0x60, 0x39, 0x8f, 0xca, 0x29, 0x8b, 0xf7, 2564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xaa, 0xba, 0x88, 0x96, 0x9a, 0x6b, 0x40, 0x18, 0xc6, 0xa3, 0x26, 2574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x80, 0x18, 0x69, 0xa6, 0x90, 0xc8, 0x14, 0xd4, 0x8a, 0x69, 0x80, 2584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xf0, 0x6a, 0x40, 0x68, 0x10, 0xbb, 0x41, 0xa7, 0xe3, 0x0b, 0xc5, 2594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x2b, 0x01, 0x10, 0xa7, 0x03, 0x59, 0x0c, 0x76, 0x69, 0x73, 0x40, 2604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0b, 0x9a, 0x28, 0x11, 0x28, 0x19, 0x5e, 0x69, 0x02, 0x81, 0x5a, 2614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd8, 0x00, 0xd3, 0x4d, 0x50, 0x0c, 0x6a, 0x8c, 0xd2, 0x01, 0xa6, 2624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x98, 0x69, 0x0c, 0xae, 0xa6, 0xa4, 0x06, 0x80, 0x1e, 0xa6, 0x9e, 2634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0d, 0x31, 0x12, 0x03, 0x4f, 0x06, 0x80, 0x13, 0x60, 0x34, 0xd3, 2644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xc1, 0xa8, 0x92, 0x01, 0xf1, 0x8d, 0xdd, 0x69, 0xcc, 0xa1, 0x69, 2654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x5b, 0x4b, 0x80, 0x83, 0x93, 0x52, 0x04, 0x14, 0xe2, 0xae, 0x03, 2664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa9, 0x0d, 0x68, 0x03, 0x4d, 0x34, 0xd0, 0x03, 0x0d, 0x30, 0xd2, 2674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x86, 0x9a, 0x68, 0x19, 0x58, 0x1a, 0x78, 0xa4, 0x04, 0x8a, 2684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x69, 0xe0, 0xd3, 0x10, 0xe0, 0x69, 0xe0, 0xd0, 0x03, 0xc1, 0xa8, 2694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xdb, 0xad, 0x4c, 0x81, 0x12, 0x45, 0xd6, 0x9d, 0x25, 0x1d, 0x00, 2704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x6a, 0xf5, 0xa9, 0xe8, 0x80, 0x31, 0x29, 0x0d, 0x58, 0x08, 0x69, 2714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x86, 0x80, 0x1a, 0x69, 0x86, 0x90, 0x0c, 0x34, 0xd3, 0x48, 0x65, 2724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x51, 0x4f, 0x06, 0x98, 0x0f, 0x14, 0xf0, 0x68, 0x10, 0xf0, 0x69, 2734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe0, 0xd0, 0x03, 0x81, 0xa5, 0x2b, 0x9a, 0x1a, 0xb8, 0x87, 0xa8, 2744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xdb, 0x4a, 0x46, 0x68, 0xb6, 0x80, 0x2a, 0xa8, 0x14, 0xea, 0x12, 2754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb0, 0x05, 0x21, 0xa6, 0x02, 0x1a, 0x61, 0xa0, 0x06, 0x9a, 0x61, 2764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa4, 0x31, 0x86, 0x9a, 0x69, 0x0c, 0xa8, 0x0d, 0x3c, 0x53, 0x01, 2774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe2, 0x9e, 0x28, 0x10, 0xf1, 0x4e, 0x06, 0x98, 0x0f, 0x06, 0x9e, 2784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0d, 0x02, 0x1c, 0x29, 0xc2, 0x80, 0x16, 0x96, 0x80, 0x0a, 0x4a, 2794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x43, 0x4d, 0x34, 0x0c, 0x61, 0xa6, 0x1a, 0x40, 0x34, 0xd3, 2804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x4d, 0x21, 0x80, 0xff, 0xd9, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x0a, 2814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x07, 0x07, 0x08, 0x07, 0x06, 0x0a, 0x08, 0x08, 0x08, 0x0b, 0x0a, 2824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0a, 0x0b, 0x0e, 0x18, 0x10, 0x0e, 0x0d, 0x0d, 0x0e, 0x1d, 0x15, 2834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x16, 0x11, 0x18, 0x23, 0x1f, 0x25, 0x24, 0x22, 0x1f, 0x22, 0x21, 2844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x26, 0x2b, 0x37, 0x2f, 0x26, 0x29, 0x34, 0x29, 0x21, 0x22, 0x30, 2854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x41, 0x31, 0x34, 0x39, 0x3b, 0x3e, 0x3e, 0x3e, 0x25, 0x2e, 0x44, 2864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x49, 0x43, 0x3c, 0x48, 0x37, 0x3d, 0x3e, 0x3b, 0x01, 0x0a, 0x0b, 2874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0b, 0x0e, 0x0d, 0x0e, 0x1c, 0x10, 0x10, 0x1c, 0x3b, 0x28, 0x22, 2884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x28, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 2894199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 2904199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 2914199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 2924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xff, 0xc0, 0x00, 0x11, 2934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x08, 0x00, 0x48, 0x00, 0x60, 0x03, 0x01, 0x21, 0x00, 0x02, 0x11, 2944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x03, 0x11, 0x01, 0xff, 0xc4, 0x01, 0xa2, 0x00, 0x00, 0x01, 2954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 2964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 2974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x08, 0x09, 0x0a, 0x0b, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 2984199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7d, 0x01, 2994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 3004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 3014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, 0x24, 0x33, 3024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x25, 3034199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x26, 0x27, 0x28, 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 3044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 3054199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 3064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 3074199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 3084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 3094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 3104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 3114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, 3124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf1, 0xf2, 0xf3, 3134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0x01, 0x00, 0x03, 0x01, 3144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 3154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 3164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x09, 0x0a, 0x0b, 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 3174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x04, 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01, 3184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 3194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 3204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 0x15, 0x62, 0x72, 3214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 3224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x1a, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, 0x39, 3234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 3244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 3254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 3264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 3274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 3284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 3294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 3304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe2, 3314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf2, 0xf3, 0xf4, 3324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xff, 0xda, 0x00, 0x0c, 0x03, 3334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3f, 0x00, 0x9e, 0xd2, 3344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x2e, 0x07, 0x15, 0xaf, 0x6d, 0x08, 0xe2, 0xb3, 0x45, 0x1a, 0xf6, 3354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd0, 0x00, 0x01, 0xc5, 0x68, 0x45, 0x17, 0x4a, 0xb4, 0x22, 0xe4, 3364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x70, 0x8c, 0x74, 0xa9, 0x3c, 0xa1, 0x8e, 0x95, 0x48, 0x96, 0x31, 3374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe2, 0x18, 0xe9, 0x55, 0xa5, 0x8c, 0x7a, 0x50, 0x05, 0x0b, 0x88, 3384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x86, 0x0f, 0x15, 0x8f, 0x75, 0x1f, 0x26, 0x93, 0x19, 0x91, 0x77, 3394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x18, 0xc1, 0xac, 0x4b, 0xc8, 0xfa, 0xd6, 0x63, 0x37, 0x6d, 0x31, 3404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb4, 0x73, 0x5b, 0x36, 0xa0, 0x1c, 0x50, 0x80, 0xd7, 0x83, 0xa0, 3414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xab, 0xd1, 0x62, 0xad, 0x09, 0x8f, 0x17, 0x29, 0x03, 0xb2, 0xcc, 3424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe0, 0x77, 0x14, 0xa3, 0x56, 0xb3, 0x27, 0x1e, 0x67, 0xe9, 0x52, 3434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xea, 0xc6, 0x3a, 0x36, 0x48, 0xef, 0x3d, 0x27, 0x70, 0x22, 0x60, 3444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x47, 0x52, 0x69, 0xb2, 0xe2, 0xad, 0x3b, 0xea, 0x80, 0xa3, 0x38, 3454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe0, 0xd6, 0x3d, 0xd8, 0x1c, 0xd0, 0xca, 0x46, 0x3d, 0xd0, 0x18, 3464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x35, 0x89, 0x78, 0xa3, 0x9a, 0xcd, 0x8c, 0xd2, 0xb3, 0x93, 0x2a, 3474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x2b, 0x66, 0xd5, 0xf1, 0x8a, 0x10, 0x1a, 0xd6, 0xf2, 0x03, 0x8a, 3484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x9e, 0xe6, 0xf4, 0x5a, 0xdb, 0xef, 0xfe, 0x23, 0xc0, 0xa7, 0x27, 3494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xcb, 0x16, 0xc4, 0xcc, 0xdd, 0xe2, 0x78, 0x9a, 0x69, 0x66, 0xcc, 3504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x99, 0xe1, 0x4d, 0x47, 0xba, 0xbc, 0xd9, 0x6a, 0xee, 0x26, 0x59, 3514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x59, 0x4d, 0xac, 0x69, 0x34, 0x52, 0xe5, 0x8f, 0x55, 0xad, 0x58, 3524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xae, 0x85, 0xc4, 0x22, 0x41, 0xdf, 0xad, 0x76, 0x61, 0xe5, 0x6f, 3534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x74, 0x45, 0x69, 0xdc, 0x00, 0x79, 0xac, 0x8b, 0xa6, 0xc9, 0x35, 3544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd4, 0x34, 0x64, 0xdc, 0x37, 0x06, 0xb1, 0xae, 0x88, 0xc1, 0xac, 3554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd8, 0xc9, 0x2c, 0xa6, 0xe0, 0x73, 0x5b, 0x36, 0xf3, 0x74, 0xe6, 3564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x84, 0x05, 0xe3, 0xa9, 0x47, 0x6a, 0x14, 0xb6, 0x49, 0x3d, 0x85, 3574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x3a, 0xee, 0xee, 0x2b, 0xa8, 0xe2, 0x6f, 0x30, 0x81, 0xe9, 0x8a, 3584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xca, 0xa4, 0xe2, 0xd3, 0x8b, 0x01, 0xb1, 0xf9, 0x04, 0x7f, 0xaf, 3594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x23, 0xf0, 0xa9, 0x54, 0x41, 0x9c, 0xfd, 0xa3, 0xf4, 0xae, 0x65, 3604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x18, 0xf7, 0x25, 0x8a, 0xe2, 0x02, 0x38, 0xb8, 0xfd, 0x2a, 0x7b, 3614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x5b, 0xa8, 0x6d, 0x6d, 0x5d, 0x9a, 0x5d, 0xcb, 0xbb, 0xd2, 0xb6, 3624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xa6, 0xa3, 0x19, 0x5e, 0xe2, 0x03, 0x7b, 0x1d, 0xc2, 0x17, 0x8d, 3634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb8, 0xac, 0xfb, 0x89, 0x39, 0x35, 0xd6, 0x9a, 0x6a, 0xe8, 0x66, 3644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x55, 0xcb, 0xf5, 0xac, 0x7b, 0x96, 0xeb, 0x50, 0xc6, 0x88, 0x6d, 3654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x66, 0xe9, 0xcd, 0x6c, 0xdb, 0x4f, 0xd3, 0x9a, 0x00, 0x2f, 0xe6, 3664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xf9, 0xa3, 0xe7, 0xb5, 0x4a, 0x93, 0x7f, 0xa2, 0xc6, 0x73, 0xdc, 3674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd7, 0x15, 0x55, 0xef, 0x48, 0x7d, 0x09, 0x52, 0x6e, 0x3a, 0xd4, 3684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xab, 0x2f, 0xbd, 0x61, 0x16, 0x0c, 0x73, 0x49, 0xc5, 0x24, 0x92, 3694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x7f, 0xa2, 0x63, 0xfd, 0xaa, 0xd6, 0x2f, 0x71, 0x0e, 0xb1, 0x93, 3704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xf7, 0x2d, 0xf5, 0xa4, 0x9e, 0x4e, 0xb5, 0xdd, 0x4b, 0xf8, 0x68, 3714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x4c, 0xcb, 0xb9, 0x93, 0xad, 0x65, 0xce, 0xd9, 0x26, 0xa9, 0x8d, 3724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x19, 0xf6, 0xf2, 0xf4, 0xe6, 0xb5, 0xad, 0xe7, 0xc6, 0x39, 0xa0, 3734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x18, 0xeb, 0xc9, 0x77, 0x6c, 0x35, 0x2a, 0x4b, 0xfe, 0x8a, 0x9c, 3744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xff, 0x00, 0x11, 0xae, 0x3a, 0x8b, 0xde, 0x61, 0xd0, 0x9e, 0x39, 3754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xb8, 0xeb, 0x53, 0xac, 0xb9, 0xae, 0x5b, 0x00, 0xf3, 0x27, 0x14, 3764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x92, 0xc9, 0xfe, 0x8a, 0x3f, 0xde, 0x35, 0xac, 0x3a, 0x88, 0x92, 3774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xcd, 0xb1, 0x6e, 0x7d, 0xcd, 0x32, 0x67, 0xeb, 0xcd, 0x7a, 0x14, 3784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xfe, 0x04, 0x26, 0x66, 0xce, 0xf9, 0x26, 0xb3, 0xe6, 0x6e, 0xb4, 3794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xd9, 0x48, 0xc8, 0x82, 0x4e, 0x07, 0x35, 0xa7, 0x6f, 0x2f, 0x02, 3804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x9a, 0x06, 0x5f, 0x8c, 0xa4, 0x83, 0x0e, 0x32, 0x2a, 0x69, 0xe3, 3814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xdd, 0x12, 0x08, 0x97, 0x85, 0xec, 0x2a, 0x2a, 0x42, 0xf1, 0x76, 3824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x26, 0xe4, 0x6a, 0x59, 0x0e, 0x18, 0x10, 0x6a, 0xd2, 0x89, 0x02, 3834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x6e, 0x2a, 0x71, 0xeb, 0x5c, 0x1c, 0x8c, 0xa6, 0x48, 0xbb, 0xdc, 3844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x61, 0x41, 0x35, 0x72, 0x28, 0x87, 0xd9, 0xf6, 0x4a, 0xb9, 0xe7, 3854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x38, 0xae, 0x8c, 0x3d, 0x36, 0xdd, 0xde, 0xc4, 0xb0, 0x21, 0x51, 3864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x76, 0xa8, 0xc0, 0xaa, 0x93, 0x31, 0xe6, 0xbb, 0x2d, 0x65, 0x61, 3874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x19, 0xd3, 0x1e, 0xb5, 0x46, 0x5a, 0x96, 0x5a, 0x30, 0xa0, 0x7e, 3884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x05, 0x69, 0x5b, 0xc9, 0xc6, 0x28, 0x40, 0xcd, 0x08, 0x64, 0x3c, 3894199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x73, 0x57, 0xe1, 0x94, 0xf1, 0xcd, 0x5a, 0x21, 0x8c, 0xb9, 0x63, 3904199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xe7, 0x67, 0x1d, 0xab, 0x40, 0xb1, 0xfb, 0x00, 0x1d, 0xf0, 0x2b, 3914199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x99, 0x2d, 0x66, 0x3e, 0x88, 0x75, 0x81, 0x3f, 0x31, 0xf6, 0xab, 3924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x64, 0xd6, 0xb4, 0x17, 0xee, 0xd0, 0x9e, 0xe4, 0x32, 0x1a, 0xa7, 3934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x31, 0xad, 0x18, 0x14, 0x26, 0xef, 0x54, 0xa5, 0xa8, 0x65, 0xa3, 3944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x9c, 0x81, 0xfa, 0x56, 0x8c, 0x2d, 0xce, 0x68, 0x40, 0xcb, 0xf1, 3954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x37, 0xbd, 0x5e, 0x85, 0xea, 0xd1, 0x0c, 0xbb, 0x19, 0x56, 0x23, 3964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x20, 0x1f, 0xad, 0x5c, 0x42, 0x08, 0x03, 0xb5, 0x55, 0x91, 0x04, 3974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0xc9, 0x80, 0x38, 0x00, 0x0a, 0x71, 0x34, 0x6c, 0x32, 0x27, 0xe9, 3984199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x55, 0x25, 0x15, 0x2c, 0x68, 0xa3, 0x30, 0xeb, 0x54, 0xa5, 0x15, 3994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 0x0c, 0xd1, 0x00, 0xff, 0xd9}; 4004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /* package */ static final byte[] sPhotoByteArrayForComplicatedCase; 4024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4034199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa static { 4044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa final int length = sPhotoIntArrayForComplicatedCase.length; 4054199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa sPhotoByteArrayForComplicatedCase = new byte[length]; 4064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa for (int i = 0; i < length; i++) { 4074199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa sPhotoByteArrayForComplicatedCase[i] = (byte)sPhotoIntArrayForComplicatedCase[i]; 4084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21SimpleCase1_Parsing() { 4124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_simple_1); 413a76f41e328f31c2e9e9006160d8f65fe651eeb6aDaisuke Miyakawa mVerifier.addPropertyNodesVerifierElemWithoutVersion() // no "VERSION:2.1" line. 4144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", "Ando;Roid;", Arrays.asList("Ando", "Roid", "")); 4154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21SimpleCase1_Type_Generic() { 4184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(VCardConfig.VCARD_TYPE_V21_GENERIC, R.raw.v21_simple_1); 4194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addContentValuesVerifierElem() 4204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpected(StructuredName.CONTENT_ITEM_TYPE) 4214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "Ando") 4224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "Roid") 4234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Roid Ando"); 4244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21SimpleCase1_Type_Japanese() { 4274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(VCardConfig.VCARD_TYPE_V21_JAPANESE, R.raw.v21_simple_1); 4284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addContentValuesVerifierElem() 4294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpected(StructuredName.CONTENT_ITEM_TYPE) 4304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "Ando") 4314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "Roid") 4324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // If name-related strings only contains printable Ascii, 4334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // the order is remained to be US's: 4344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // "Prefix Given Middle Family Suffix" 4354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Roid Ando"); 4364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21SimpleCase2() { 4394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(VCardConfig.VCARD_TYPE_V21_JAPANESE, R.raw.v21_simple_2); 4404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addContentValuesVerifierElem() 4414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpected(StructuredName.CONTENT_ITEM_TYPE) 4424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Ando Roid"); 4434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21SimpleCase3() { 4464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_simple_3); 4474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addContentValuesVerifierElem() 4484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpected(StructuredName.CONTENT_ITEM_TYPE) 4494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "Ando") 4504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "Roid") 4514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // "FN" field should be prefered since it should contain the original 4524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // order intended by the author of the file. 4534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Ando Roid"); 4544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /** 4574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Tests ';' is properly handled by VCardParser implementation. 4584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 4594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21BackslashCase_Parsing() { 4604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_backslash); 4614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 4624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", ";A;B\\;C\\;;D;:E;\\\\;", 4634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("", "A;B\\", "C\\;", "D", ":E", "\\\\", "")) 4644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("FN", "A;B\\C\\;D:E\\\\"); 465449d710428682b3f44ba20ce290564cd9352ca0aDaisuke Miyakawa 4664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /** 4694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Tests ContactStruct correctly ignores redundant fields in "N" property values and 4704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * inserts name related data. 4714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 4724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21BackslashCase() { 4734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_backslash); 4744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addContentValuesVerifierElem() 4754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpected(StructuredName.CONTENT_ITEM_TYPE) 4764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // FAMILY_NAME is empty and removed in this test... 4774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "A;B\\") 4784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.MIDDLE_NAME, "C\\;") 4794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PREFIX, "D") 4804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.SUFFIX, ":E") 4814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "A;B\\C\\;D:E\\\\"); 4824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testOrgBeforTitle() { 4854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_org_before_title); 4864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 4874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 4884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Normal Guy"); 4894199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Organization.CONTENT_ITEM_TYPE) 4904199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.COMPANY, "Company") 4914199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.DEPARTMENT, "Organization Devision Room Sheet No.") 4924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TITLE, "Excellent Janitor") 4934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TYPE, Organization.TYPE_WORK); 4944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 4954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 4964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testTitleBeforOrg() { 4974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_title_before_org); 4984199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 4994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 5004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Nice Guy"); 5014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Organization.CONTENT_ITEM_TYPE) 5024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.COMPANY, "Marverous") 5034199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.DEPARTMENT, "Perfect Great Good Bad Poor") 5044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TITLE, "Cool Title") 5054199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TYPE, Organization.TYPE_WORK); 5064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 5074199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 5084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /** 5094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Verifies that vCard importer correctly interpret "PREF" attribute to IS_PRIMARY. 5104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * The data contain three cases: one "PREF", no "PREF" and multiple "PREF", in each type. 5114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 5124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21PrefToIsPrimary() { 5134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_pref_handling); 5144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 5154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 5164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE) 5174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Smith"); 5184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 5194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "1") 5204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_HOME); 5214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 5224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "2") 5234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_WORK) 5244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.IS_PRIMARY, 1); 5254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 5264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "3") 5274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_ISDN); 5284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Email.CONTENT_ITEM_TYPE) 5294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.DATA, "test@example.com") 5304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.TYPE, Email.TYPE_HOME) 5314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.IS_PRIMARY, 1); 5324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Email.CONTENT_ITEM_TYPE) 5334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.DATA, "test2@examination.com") 5344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.TYPE, Email.TYPE_MOBILE) 5354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.IS_PRIMARY, 1); 5364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Organization.CONTENT_ITEM_TYPE) 5374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.COMPANY, "Company") 5384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TITLE, "Engineer") 5394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TYPE, Organization.TYPE_WORK); 5404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Organization.CONTENT_ITEM_TYPE) 5414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.COMPANY, "Mystery") 5424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TITLE, "Blogger") 5434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TYPE, Organization.TYPE_WORK); 5444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Organization.CONTENT_ITEM_TYPE) 5454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.COMPANY, "Poetry") 5464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TITLE, "Poet") 5474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TYPE, Organization.TYPE_WORK); 5484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 5494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 5504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /** 5514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Tests all the properties in a complicated vCard are correctly parsed by the VCardParser. 5524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 5534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21ComplicatedCase_Parsing() { 5544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_complicated); 5554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 5564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", "Gump;Forrest;Hoge;Pos;Tao", 5574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("Gump", "Forrest", "Hoge", "Pos", "Tao")) 5584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("FN", "Joe Due") 559f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa .addExpectedNodeWithOrder("ORG", 560f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa "Gump Shrimp Co.;Sales Dept.;Manager;Fish keeper", 5614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("Gump Shrimp Co.", "Sales Dept.;Manager", "Fish keeper")) 5624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("ROLE", "Fish Cake Keeper!") 5634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TITLE", "Shrimp Man") 5644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("X-CLASS", "PUBLIC") 5654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "(111) 555-1212", new TypeSet("WORK", "VOICE")) 5664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "(404) 555-1212", new TypeSet("HOME", "VOICE")) 5674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "0311111111", new TypeSet("CELL")) 5684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "0322222222", new TypeSet("VIDEO")) 5694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "0333333333", new TypeSet("VOICE")) 5704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("ADR", 5714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ";;100 Waters Edge;Baytown;LA;30314;United States of America", 5724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("", "", "100 Waters Edge", "Baytown", 5734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "LA", "30314", "United States of America"), 5744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, new TypeSet("WORK"), null) 5754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("LABEL", 5764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "100 Waters Edge\r\nBaytown, LA 30314\r\nUnited States of America", 5774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForQP, new TypeSet("WORK"), null) 5784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("ADR", 5794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ";;42 Plantation St.;Baytown;LA;30314;United States of America", 5804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("", "", "42 Plantation St.", "Baytown", 5814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "LA", "30314", "United States of America"), null, null, 5824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("HOME"), null) 5834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("LABEL", 5844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "42 Plantation St.\r\nBaytown, LA 30314\r\nUnited States of America", 5854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForQP, 5864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("HOME"), null) 5874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("EMAIL", "forrestgump@walladalla.com", 5884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("PREF", "INTERNET")) 5894199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("EMAIL", "cell@example.com", new TypeSet("CELL")) 590f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa .addExpectedNodeWithOrder("NOTE", 591f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa "The following note is the example from RFC 2045.") 5924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("NOTE", 5934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "Now's the time for all folk to come to the aid of their country.", 5944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForQP, null, null) 5954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("PHOTO", null, 5964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, sPhotoByteArrayForComplicatedCase, mContentValuesForBase64V21, 5974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("JPEG"), null) 5984199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("X-ATTRIBUTE", "Some String") 5994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("BDAY", "19800101") 6004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("GEO", "35.6563854,139.6994233") 6014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("URL", "http://www.example.com/") 6024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("REV", "20080424T195243Z"); 6034199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 6044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 6054199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /** 6064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Checks ContactStruct correctly inserts values in a complicated vCard 6074199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * into ContentResolver. 6084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 6094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21ComplicatedCase() { 6104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_complicated); 6114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 6124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 6134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "Gump") 6144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "Forrest") 6154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.MIDDLE_NAME, "Hoge") 6164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PREFIX, "Pos") 6174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.SUFFIX, "Tao") 6184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Joe Due"); 6194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Organization.CONTENT_ITEM_TYPE) 6204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TYPE, Organization.TYPE_WORK) 6214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.COMPANY, "Gump Shrimp Co.") 6224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.DEPARTMENT, "Sales Dept.;Manager Fish keeper") 6234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TITLE, "Shrimp Man"); 6244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 6254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_WORK) 6264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // Phone number is expected to be formated with NAMP format in default. 6274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "111-555-1212"); 6284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 6294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_HOME) 6304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "404-555-1212"); 6314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 6324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_MOBILE) 6334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "031-111-1111"); 6344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 6354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 6364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "VIDEO") 6374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "032-222-2222"); 638449d710428682b3f44ba20ce290564cd9352ca0aDaisuke Miyakawa // vCard's VOICE type should become OTHER type on Android devices. 6394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 640449d710428682b3f44ba20ce290564cd9352ca0aDaisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_OTHER) 6414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "033-333-3333"); 6424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredPostal.CONTENT_ITEM_TYPE) 6434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK) 6444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.COUNTRY, "United States of America") 6454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.POSTCODE, "30314") 6464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.REGION, "LA") 6474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.CITY, "Baytown") 6484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.STREET, "100 Waters Edge") 6494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.FORMATTED_ADDRESS, 6504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "100 Waters Edge Baytown LA 30314 United States of America"); 6514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredPostal.CONTENT_ITEM_TYPE) 6524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_HOME) 6534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.COUNTRY, "United States of America") 6544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.POSTCODE, "30314") 6554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.REGION, "LA") 6564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.CITY, "Baytown") 6574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.STREET, "42 Plantation St.") 6584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.FORMATTED_ADDRESS, 6594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "42 Plantation St. Baytown LA 30314 United States of America"); 6604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Email.CONTENT_ITEM_TYPE) 6614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // "TYPE=INTERNET" -> TYPE_CUSTOM + the label "INTERNET" 6624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.TYPE, Email.TYPE_CUSTOM) 6634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.LABEL, "INTERNET") 6644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.DATA, "forrestgump@walladalla.com") 6654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.IS_PRIMARY, 1); 6664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Email.CONTENT_ITEM_TYPE) 6674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.TYPE, Email.TYPE_MOBILE) 6684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Email.DATA, "cell@example.com"); 6694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Note.CONTENT_ITEM_TYPE) 6704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Note.NOTE, "The following note is the example from RFC 2045."); 6714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Note.CONTENT_ITEM_TYPE) 6724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Note.NOTE, 6734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "Now's the time for all folk to come to the aid of their country."); 6744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Photo.CONTENT_ITEM_TYPE) 6754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // No information about its image format can be inserted. 6764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Photo.PHOTO, sPhotoByteArrayForComplicatedCase); 6774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Event.CONTENT_ITEM_TYPE) 6784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Event.START_DATE, "19800101") 6794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Event.TYPE, Event.TYPE_BIRTHDAY); 6804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Website.CONTENT_ITEM_TYPE) 6814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Website.URL, "http://www.example.com/") 6824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Website.TYPE, Website.TYPE_HOMEPAGE); 6834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 6844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 685f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa public void testInvalidMultipleLineV21() { 686f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_invalid_multiple_line); 687f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 688f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 689f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa .put(StructuredName.GIVEN_NAME, "Omega") 690f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Omega"); 691f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa elem.addExpected(Email.CONTENT_ITEM_TYPE) 692f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa .put(Email.TYPE, Email.TYPE_CUSTOM) 693f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa .put(Email.LABEL, "INTERNET") 694f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa .put(Email.ADDRESS, "\"Omega\" <omega@example.com>"); 695f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa } 696f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa 6979e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng public void testAdrMultipleLineV21() { 6989e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng ContentValues contentValuesForValue = new ContentValues(); 6999e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng contentValuesForValue.put("VALUE", "DATE"); 7009e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng 7019e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng mVerifier.initForImportTest(V21, R.raw.v21_adr_multiple_line); 7029e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng mVerifier.addPropertyNodesVerifierElem() 7039e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng .addExpectedNodeWithOrder("N", "bogus") 7049e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng .addExpectedNodeWithOrder("URL", "http://bogus.com/") 7059e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng .addExpectedNodeWithOrder("ADR", 7069e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng ";;Grindelberg 999;Hamburg;;99999;Deutschland", 7079e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng Arrays.asList("", "", "Grindelberg 999", "Hamburg", "", "99999", 7089e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng "Deutschland"), 7099e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng new TypeSet("HOME")) 7109e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng .addExpectedNodeWithOrder("ADR", ";;Hermann v. Brevern\\ 9999999\\ " + 7119e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng "Packstation 999;Hamburg;;99999;Deutschland", 7129e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng Arrays.asList("", "", "Hermann v. Brevern\\ 9999999\\ Packstation 999", 7139e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng "Hamburg", "", "99999", "Deutschland"), 7149e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng new TypeSet("HOME")) 7159e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng .addExpectedNodeWithOrder("BDAY", "20081203", contentValuesForValue); 7169e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng } 7179e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng 7184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV30Simple_Parsing() { 7194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_simple); 7204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 7214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("FN", "And Roid") 722f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa .addExpectedNodeWithOrder("N", "And;Roid;;;", 723f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa Arrays.asList("And", "Roid", "", "", "")) 7244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("ORG", "Open;Handset; Alliance", 7254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("Open", "Handset", " Alliance")) 7264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("SORT-STRING", "android") 7274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "0300000000", new TypeSet("PREF", "VOICE")) 7284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("CLASS", "PUBLIC") 7294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("X-GNO", "0") 7304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("X-GN", "group0") 7314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("X-REDUCTION", "0") 7324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("REV", "20081031T065854Z"); 7334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 7344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 7354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV30Simple() { 7364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_simple); 7374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 7384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 7394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "And") 7404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "Roid") 7414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "And Roid") 7424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, "android"); 7434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Organization.CONTENT_ITEM_TYPE) 7444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.COMPANY, "Open") 7454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.DEPARTMENT, "Handset Alliance") 7464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Organization.TYPE, Organization.TYPE_WORK); 7474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 748449d710428682b3f44ba20ce290564cd9352ca0aDaisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_OTHER) 7494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "030-000-0000") 7504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.IS_PRIMARY, 1); 7514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 7524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 7534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21Japanese1_Parsing() { 7544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // Though Japanese careers append ";;;;" at the end of the value of "SOUND", 7554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // vCard 2.1/3.0 specification does not allow multiple values. 7564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // Do not need to handle it as multiple values. 7574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(VCardConfig.VCARD_TYPE_V21_JAPANESE, R.raw.v21_japanese_1); 7584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 7594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", "\u5B89\u85E4\u30ED\u30A4\u30C9;;;;", 7604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("\u5B89\u85E4\u30ED\u30A4\u30C9", "", "", "", ""), 7614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, mContentValuesForSJis, null, null) 7624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("SOUND", 7634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73\uFF9B\uFF72\uFF84\uFF9E;;;;", 7644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForSJis, 7654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("X-IRMC-N"), null) 7664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "0300000000", null, null, null, 7674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("VOICE", "PREF"), null); 7684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 7694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 7704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private void testV21Japanese1Common(int resId, int vcardType, boolean japanese) { 7714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(vcardType, resId); 7724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 7734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 7744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u5B89\u85E4\u30ED\u30A4\u30C9") 7754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "\u5B89\u85E4\u30ED\u30A4\u30C9") 7764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // While vCard parser does not split "SOUND" property values, 7774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // ContactStruct care it. 7784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, 7794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73\uFF9B\uFF72\uFF84\uFF9E"); 7804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 7814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // Phone number formatting is different. 7824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, (japanese ? "03-0000-0000" : "030-000-0000")) 783449d710428682b3f44ba20ce290564cd9352ca0aDaisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_OTHER) 7844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.IS_PRIMARY, 1); 7854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 7864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 7874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /** 7884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Verifies vCard with Japanese can be parsed correctly with 789f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa * {@link com.android.vcard.VCardConfig#VCARD_TYPE_V21_GENERIC}. 7904199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 7914199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21Japanese1_Type_Generic_Utf8() { 7924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa testV21Japanese1Common( 7934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa R.raw.v21_japanese_1, VCardConfig.VCARD_TYPE_V21_GENERIC, false); 7944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 7954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 7964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /** 7974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Verifies vCard with Japanese can be parsed correctly with 798f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa * {@link com.android.vcard.VCardConfig#VCARD_TYPE_V21_JAPANESE}. 7994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 8004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21Japanese1_Type_Japanese_Sjis() { 8014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa testV21Japanese1Common( 8024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa R.raw.v21_japanese_1, VCardConfig.VCARD_TYPE_V21_JAPANESE, true); 8034199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 8044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 8054199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa /** 8064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Verifies vCard with Japanese can be parsed correctly with 807f6d9e0eeae38a72481ce2e19d0872d3f8f81189fDaisuke Miyakawa * {@link com.android.vcard.VCardConfig#VCARD_TYPE_V21_JAPANESE}. 8084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * since vCard 2.1 specifies the charset of each line if it contains non-Ascii. 8094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 8104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21Japanese1_Type_Japanese_Utf8() { 8114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa testV21Japanese1Common( 8124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa R.raw.v21_japanese_1, VCardConfig.VCARD_TYPE_V21_JAPANESE, true); 8134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 8144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 8154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21Japanese2_Parsing() { 8164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(VCardConfig.VCARD_TYPE_V21_JAPANESE, R.raw.v21_japanese_2); 8174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 8184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", "\u5B89\u85E4;\u30ED\u30A4\u30C9\u0031;;;", 8194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("\u5B89\u85E4", "\u30ED\u30A4\u30C9\u0031", 8204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "", "", ""), 8214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, mContentValuesForSJis, null, null) 8224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("FN", "\u5B89\u85E4\u0020\u30ED\u30A4\u30C9\u0020\u0031", 8234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForSJis, null, null) 8244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("SOUND", 8254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73;\uFF9B\uFF72\uFF84\uFF9E\u0031;;;", 8264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForSJis, 8274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("X-IRMC-N"), null) 8284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("ADR", 8294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ";\u6771\u4EAC\u90FD\u6E0B\u8C37\u533A\u685C" + 8304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u4E18\u753A\u0032\u0036\u002D\u0031\u30BB" + 8314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u30EB\u30EA\u30A2\u30F3\u30BF\u30EF\u30FC\u0036" + 8324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u968E;;;;150-8512;", 8334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("", 8344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u6771\u4EAC\u90FD\u6E0B\u8C37\u533A\u685C" + 8354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u4E18\u753A\u0032\u0036\u002D\u0031\u30BB" + 8364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u30EB\u30EA\u30A2\u30F3\u30BF\u30EF\u30FC" + 8374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u0036\u968E", "", "", "", "150-8512", ""), 8384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, mContentValuesForQPAndSJis, new TypeSet("HOME"), null) 8394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("NOTE", "\u30E1\u30E2", null, null, 8404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mContentValuesForQPAndSJis, null, null); 8414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 8424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 8434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21Japanese2_Type_Generic_Utf8() { 8444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_japanese_2); 8454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 8464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 8474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u5B89\u85E4") 8484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "\u30ED\u30A4\u30C9\u0031") 8494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, 8504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u5B89\u85E4\u0020\u30ED\u30A4\u30C9\u0020\u0031") 8514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // ContactStruct should correctly split "SOUND" property into several elements, 8524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa // even though VCardParser side does not care it. 8534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PHONETIC_FAMILY_NAME, "\uFF71\uFF9D\uFF84\uFF9E\uFF73") 8544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, "\uFF9B\uFF72\uFF84\uFF9E\u0031"); 8554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredPostal.CONTENT_ITEM_TYPE) 8564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.POSTCODE, "150-8512") 8574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.STREET, 8584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u6771\u4EAC\u90FD\u6E0B\u8C37\u533A\u685C" + 8594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u4E18\u753A\u0032\u0036\u002D\u0031\u30BB" + 8604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u30EB\u30EA\u30A2\u30F3\u30BF\u30EF\u30FC" + 8614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u0036\u968E") 8624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.FORMATTED_ADDRESS, 8634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u6771\u4EAC\u90FD\u6E0B\u8C37\u533A\u685C" + 8644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u4E18\u753A\u0032\u0036\u002D\u0031\u30BB" + 8654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u30EB\u30EA\u30A2\u30F3\u30BF\u30EF\u30FC" + 8664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\u0036\u968E 150-8512") 8674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_HOME); 8684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Note.CONTENT_ITEM_TYPE) 8694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Note.NOTE, "\u30E1\u30E2"); 8704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 8714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 8724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21MultipleEntryCase_Parse() { 8734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(VCardConfig.VCARD_TYPE_V21_JAPANESE, R.raw.v21_multiple_entry); 8744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 8754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", "\u5B89\u85E4\u30ED\u30A4\u30C9\u0033;;;;", 8764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("\u5B89\u85E4\u30ED\u30A4\u30C9\u0033", "", "", "", ""), 8774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, mContentValuesForSJis, null, null) 8784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("SOUND", 8794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73\uFF9B\uFF72\uFF84\uFF9E\u0033;;;;", 8804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForSJis, 8814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("X-IRMC-N"), null) 8824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "9", new TypeSet("X-NEC-SECRET")) 8834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "10", new TypeSet("X-NEC-HOTEL")) 8844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "11", new TypeSet("X-NEC-SCHOOL")) 8854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "12", new TypeSet("FAX", "HOME")); 8864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 8874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", "\u5B89\u85E4\u30ED\u30A4\u30C9\u0034;;;;", 8884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("\u5B89\u85E4\u30ED\u30A4\u30C9\u0034", "", "", "", ""), 8894199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, mContentValuesForSJis, null, null) 8904199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("SOUND", 8914199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73\uFF9B\uFF72\uFF84\uFF9E\u0034;;;;", 8924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForSJis, 8934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("X-IRMC-N"), null) 8944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "13", new TypeSet("MODEM")) 8954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "14", new TypeSet("PAGER")) 8964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "15", new TypeSet("X-NEC-FAMILY")) 8974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "16", new TypeSet("X-NEC-GIRL")); 8984199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 8994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", "\u5B89\u85E4\u30ED\u30A4\u30C9\u0035;;;;", 9004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa Arrays.asList("\u5B89\u85E4\u30ED\u30A4\u30C9\u0035", "", "", "", ""), 9014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, mContentValuesForSJis, null, null) 9024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("SOUND", 9034199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73\uFF9B\uFF72\uFF84\uFF9E\u0035;;;;", 9044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa null, null, mContentValuesForSJis, 9054199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("X-IRMC-N"), null) 9064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "17", new TypeSet("X-NEC-BOY")) 9074199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "18", new TypeSet("X-NEC-FRIEND")) 9084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "19", new TypeSet("X-NEC-PHS")) 9094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "20", new TypeSet("X-NEC-RESTAURANT")); 9104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 9114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 9124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testV21MultipleEntryCase() { 9134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(VCardConfig.VCARD_TYPE_V21_JAPANESE, R.raw.v21_multiple_entry); 9144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 9154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 9164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u5B89\u85E4\u30ED\u30A4\u30C9\u0033") 9174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "\u5B89\u85E4\u30ED\u30A4\u30C9\u0033") 9184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, 9194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73\uFF9B\uFF72\uFF84\uFF9E\u0033"); 9204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-SECRET") 9234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "9"); 9244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-HOTEL") 9274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "10"); 9284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-SCHOOL") 9314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "11"); 9324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_FAX_HOME) 9344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "12"); 9354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 9364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem = mVerifier.addContentValuesVerifierElem(); 9374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 9384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u5B89\u85E4\u30ED\u30A4\u30C9\u0034") 9394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "\u5B89\u85E4\u30ED\u30A4\u30C9\u0034") 9404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, 9414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73\uFF9B\uFF72\uFF84\uFF9E\u0034"); 9424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "MODEM") 9454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "13"); 9464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_PAGER) 9484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "14"); 9494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-FAMILY") 9524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "15"); 9534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-GIRL") 9564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "16"); 9574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 9584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem = mVerifier.addContentValuesVerifierElem(); 9594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 9604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u5B89\u85E4\u30ED\u30A4\u30C9\u0035") 9614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "\u5B89\u85E4\u30ED\u30A4\u30C9\u0035") 9624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, 9634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa "\uFF71\uFF9D\uFF84\uFF9E\uFF73\uFF9B\uFF72\uFF84\uFF9E\u0035"); 9644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-BOY") 9674199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "17"); 9684199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9694199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9704199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-FRIEND") 9714199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "18"); 9724199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9734199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9744199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-PHS") 9754199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "19"); 9764199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 9774199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 9784199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.LABEL, "NEC-RESTAURANT") 9794199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "20"); 9804199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 9814199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 9824199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testIgnoreAgentV21_Parse() { 9834199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_winmo_65); 9844199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValues contentValuesForValue = new ContentValues(); 9854199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa contentValuesForValue.put("VALUE", "DATE"); 9864199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 9874199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", Arrays.asList("Example", "", "", "", "")) 9884199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("FN", "Example") 9894199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("ANNIVERSARY", "20091010", contentValuesForValue) 9904199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("AGENT", "") 9914199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("X-CLASS", "PUBLIC") 9924199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("X-REDUCTION", "") 9934199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("X-NO", ""); 9944199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 9954199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 9964199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testIgnoreAgentV21() { 9974199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_winmo_65); 9984199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifier verifier = new ContentValuesVerifier(); 9994199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 10004199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 10014199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "Example") 10024199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Example"); 100342f5f84d9d501893bc14702276f0300ca8230bb5Daisuke Miyakawa elem.addExpected(Event.CONTENT_ITEM_TYPE) 100442f5f84d9d501893bc14702276f0300ca8230bb5Daisuke Miyakawa .put(Event.TYPE, Event.TYPE_ANNIVERSARY) 100542f5f84d9d501893bc14702276f0300ca8230bb5Daisuke Miyakawa .put(Event.START_DATE, "20091010"); 10064199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 10074199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 10084199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testTolerateInvalidCommentLikeLineV21() { 10094199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_invalid_comment_line); 10104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 10114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 10124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "Conference Call") 10134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Conference Call"); 10144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Note.CONTENT_ITEM_TYPE) 10154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Note.NOTE, "This is an (sharp ->#<- sharp) example. " 10164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa + "This message must NOT be ignored."); 10174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 10184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 10194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testPagerV30_Parse() { 1020d5a8fc2a35c69fc34df35fd545ccf83d548ba50cDaisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_pager); 10214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 10224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("N", Arrays.asList("F", "G", "M", "", "")) 10234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "6101231234@pagersample.com", 10244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa new TypeSet("WORK", "MSG", "PAGER")); 10254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 10264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 10274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void testPagerV30() { 1028d5a8fc2a35c69fc34df35fd545ccf83d548ba50cDaisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_pager); 10294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 10304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 10314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "F") 10324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.MIDDLE_NAME, "M") 10334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "G") 10344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "G M F"); 10354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 10364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_PAGER) 10374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa .put(Phone.NUMBER, "6101231234@pagersample.com"); 10384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 1039d5a8fc2a35c69fc34df35fd545ccf83d548ba50cDaisuke Miyakawa 10402bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa public void testMultiBytePropV30_Parse() { 10412bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_multibyte_param); 10422bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 10432bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .addExpectedNodeWithOrder("N", Arrays.asList("F", "G", "M", "", "")) 10442bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "1", new TypeSet("\u8D39")); 10452bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa } 10462bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa 10472bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa public void testMultiBytePropV30() { 10482bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_multibyte_param); 10492bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 10502bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 10512bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "F") 10522bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .put(StructuredName.MIDDLE_NAME, "M") 10532bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "G") 10542bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "G M F"); 10552bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 10562bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 10572bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .put(Phone.LABEL, "\u8D39") 10582bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa .put(Phone.NUMBER, "1"); 10592bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa } 10602bf85a1a15a3175119ab8415fc590fd5fe3d0752Daisuke Miyakawa 106136ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa public void testCommaSeparatedParamsV30_Parse() { 106236ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_comma_separated); 106336ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 106436ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa .addExpectedNodeWithOrder("N", Arrays.asList("F", "G", "M", "", ""), 106536ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa new TypeSet("PREF", "HOME")) 106636ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "1", 106736ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa new TypeSet("COMMA,SEPARATED:INSIDE.DQUOTE", "PREF")); 106836ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa } 106936ba003879c5583609af3afcec8df22f51d94cd3Daisuke Miyakawa 10704560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa public void testSortAsV40_Parse() { 10714560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa mVerifier.initForImportTest(V40, R.raw.v40_sort_as); 10724560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa 10734560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa final ContentValues contentValuesForSortAsN = new ContentValues(); 10744560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa contentValuesForSortAsN.put("SORT-AS", 10754560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa "\u3042\u3093\u3069\u3046;\u308D\u3044\u3069"); 10764560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa final ContentValues contentValuesForSortAsOrg = new ContentValues(); 10774560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa contentValuesForSortAsOrg.put("SORT-AS", 10784560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa "\u3050\u30FC\u3050\u308B;\u3051\u3093\u3055\u304F\u3076\u3082\u3093"); 10794560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa 1080d5a8fc2a35c69fc34df35fd545ccf83d548ba50cDaisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 10814560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .addExpectedNodeWithOrder("FN", "\u5B89\u85E4\u0020\u30ED\u30A4\u30C9") 10824560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .addExpectedNodeWithOrder("N", 10834560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa Arrays.asList("\u5B89\u85E4", "\u30ED\u30A4\u30C9", "", "", ""), 10844560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa contentValuesForSortAsN) 10854560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .addExpectedNodeWithOrder("ORG", 10864560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa Arrays.asList("\u30B0\u30FC\u30B0\u30EB", "\u691C\u7D22\u90E8\u9580"), 10874560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa contentValuesForSortAsOrg, new TypeSet("WORK")); 10884560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa } 10894560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa 10904560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa public void testSortAsV40() { 10914560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa mVerifier.initForImportTest(V40, R.raw.v40_sort_as); 10924560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 10934560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 10944560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u5B89\u85E4") 10954560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "\u30ED\u30A4\u30C9") 10964560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "\u5B89\u85E4\u0020\u30ED\u30A4\u30C9") 10974560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(StructuredName.PHONETIC_FAMILY_NAME, "\u3042\u3093\u3069\u3046") 10984560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(StructuredName.PHONETIC_GIVEN_NAME, 10994560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa "\u308D\u3044\u3069"); 11004560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa elem.addExpected(Organization.CONTENT_ITEM_TYPE) 11014560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(Organization.TYPE, Organization.TYPE_WORK) 11024560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(Organization.COMPANY, "\u30B0\u30FC\u30B0\u30EB") 11034560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(Organization.DEPARTMENT, "\u691C\u7D22\u90E8\u9580") 11044560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa .put(Organization.PHONETIC_NAME, 11054560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa "\u3050\u30FC\u3050\u308B\u3051\u3093\u3055\u304F\u3076\u3082\u3093"); 1106d5a8fc2a35c69fc34df35fd545ccf83d548ba50cDaisuke Miyakawa } 110706ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa 110806ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa public void testIMV21_Parse() { 110906ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_im); 111006ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 111106ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa .addExpectedNodeWithOrder("X-ANDROID-CUSTOM", 111206ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa Arrays.asList("vnd.android.cursor.item/nickname", "Nick", "1", 111306ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa "", "", "", "", "", "", "", "", "", "", "", "", "")) // 13 111406ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa .addExpectedNodeWithOrder("X-GOOGLE-TALK", "hhh@gmail.com"); 111506ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa } 111606ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa 111706ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa public void testIMV21() { 111806ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_im); 111906ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 112006ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa elem.addExpected(Nickname.CONTENT_ITEM_TYPE) 112106ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa .put(Nickname.NAME, "Nick") 112206ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa .put(Nickname.TYPE, "1"); 112306ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa elem.addExpected(Im.CONTENT_ITEM_TYPE) 112406ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa .put(Im.PROTOCOL, Im.PROTOCOL_GOOGLE_TALK) 112506ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa .put(Im.TYPE, Im.TYPE_HOME) 112606ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa .put(Im.DATA, "hhh@gmail.com"); 112706ae82316d0b5f7222a7a1d15b7d03df88fdea15Daisuke Miyakawa } 112888d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa 112988d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa public void testSipV30_Parse() { 113088d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_sip); 113188d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 113288d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa .addExpectedNodeWithOrder("FN", "Android") 113388d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa .addExpectedNodeWithOrder("IMPP", "sip:android@android.example.com", 113488d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa new TypeSet("personal")); 113588d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa } 113688d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa 113788d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa public void testSipV30() { 113888d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa mVerifier.initForImportTest(V30, R.raw.v30_sip); 113988d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 114088d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 114188d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Android"); 114288d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa // Type is ignored silently. 114388d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa elem.addExpected(SipAddress.CONTENT_ITEM_TYPE) 11441de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put(SipAddress.TYPE, SipAddress.TYPE_CUSTOM) 11451de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put(SipAddress.LABEL, "personal") 114688d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa .put(SipAddress.SIP_ADDRESS, "android@android.example.com"); 114788d0f1ef715f2e1209eba5d175b1b71c556fa8b0Daisuke Miyakawa } 11485db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa 11495db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa public void testSipV21_Parse() { 11505db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_sip); 11515db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 11525db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa .addExpectedNodeWithOrder("FN", "Android") 11530fc278de46840f89c01aa984de7565c1f97e3103Daisuke Miyakawa .addExpectedNodeWithOrder("X-SIP", "888") 11540fc278de46840f89c01aa984de7565c1f97e3103Daisuke Miyakawa .addExpectedNodeWithOrder("X-SIP", "sip:90-180-360"); 11555db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa } 11565db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa 11575db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa public void testSipV21() { 11585db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_sip); 11595db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 11605db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 11615db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Android"); 11625db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa elem.addExpected(SipAddress.CONTENT_ITEM_TYPE) 11631de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put(SipAddress.TYPE, SipAddress.TYPE_OTHER) 11645db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa .put(SipAddress.SIP_ADDRESS, "888"); 11650fc278de46840f89c01aa984de7565c1f97e3103Daisuke Miyakawa // "sip:" should be removed. 11660fc278de46840f89c01aa984de7565c1f97e3103Daisuke Miyakawa elem.addExpected(SipAddress.CONTENT_ITEM_TYPE) 11671de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put(SipAddress.TYPE, SipAddress.TYPE_OTHER) 11680fc278de46840f89c01aa984de7565c1f97e3103Daisuke Miyakawa .put(SipAddress.SIP_ADDRESS, "90-180-360"); 11695db8b7baeffb35191032789cb0b0d643b78f0120Daisuke Miyakawa } 117037634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa 117137634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa public void testSipV40() { 117237634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa mVerifier.initForImportTest(V40, R.raw.v40_sip); 117337634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 117437634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 117537634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "\u5B89\u85E4") 117637634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "\u30ED\u30A4\u30C9") 117737634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "\u5B89\u85E4\u0020\u30ED\u30A4\u30C9"); 117837634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 117937634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_HOME) 118037634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa .put(Phone.NUMBER, "1"); 118137634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa elem.addExpected(SipAddress.CONTENT_ITEM_TYPE) 11821de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put(SipAddress.TYPE, SipAddress.TYPE_HOME) 118337634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa .put(SipAddress.SIP_ADDRESS, "example@example.com"); 118437634a0179f74431317f50d2ce493e3fad36f5a9Daisuke Miyakawa } 118500b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa 118600b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa public void testCustomPropertyV21_Parse() { 118700b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_x_param); 118800b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 118900b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .addExpectedNodeWithOrder("N", "Ando;Roid;", Arrays.asList("Ando", "Roid", "")) 119000b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .addExpectedNodeWithOrder("ADR", "pobox;street", Arrays.asList("pobox", "street"), 119100b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa new TypeSet("X-custom")) 119200b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "1", new TypeSet("X-CuStoMpRop")) 119300b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .addExpectedNodeWithOrder("TEL", "2", new TypeSet("custompropertywithoutx")) 119400b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .addExpectedNodeWithOrder("EMAIL", "email@example.com", 119500b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa new TypeSet("X-cUstomPrOperty")) 119600b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .addExpectedNodeWithOrder("EMAIL", "email2@example.com", 119700b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa new TypeSet("CUSTOMPROPERTYWITHOUTX")); 119800b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa } 119900b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa 120000b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa public void testCustomPropertyV21() { 120100b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_x_param); 120200b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 120300b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 120400b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(StructuredName.FAMILY_NAME, "Ando") 120500b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(StructuredName.GIVEN_NAME, "Roid") 120600b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(StructuredName.DISPLAY_NAME, "Roid Ando"); 120700b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa elem.addExpected(StructuredPostal.CONTENT_ITEM_TYPE) 120800b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(StructuredPostal.TYPE, StructuredPostal.TYPE_CUSTOM) 120900b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(StructuredPostal.LABEL, "custom") 121000b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(StructuredPostal.POBOX, "pobox") 121100b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(StructuredPostal.STREET, "street") 121200b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(StructuredPostal.FORMATTED_ADDRESS, "pobox street"); 121300b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 121400b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 121500b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Phone.LABEL, "CuStoMpRop") 121600b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Phone.NUMBER, "1"); 121700b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa elem.addExpected(Phone.CONTENT_ITEM_TYPE) 121800b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Phone.TYPE, Phone.TYPE_CUSTOM) 121900b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Phone.LABEL, "custompropertywithoutx") 122000b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Phone.NUMBER, "2"); 122100b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa elem.addExpected(Email.CONTENT_ITEM_TYPE) 122200b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Email.TYPE, Email.TYPE_CUSTOM) 122300b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Email.LABEL, "cUstomPrOperty") 122400b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Email.ADDRESS, "email@example.com"); 122500b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa elem.addExpected(Email.CONTENT_ITEM_TYPE) 122600b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Email.TYPE, Email.TYPE_CUSTOM) 122700b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Email.LABEL, "CUSTOMPROPERTYWITHOUTX") 122800b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa .put(Email.ADDRESS, "email2@example.com"); 122900b4b98ea94df7fa3f88ee9a623d60db0d4fc451Daisuke Miyakawa } 1230c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa 1231c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa public void testBase64Without2CrLf_Parse() { 1232c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_base64_no_2_crlf); 1233c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa mVerifier.addPropertyNodesVerifierElem() 1234c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa .addExpectedNodeWithOrder("N", "name") 1235c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa .addExpectedNodeWithOrder("FN", "fullname") 1236c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa .addExpectedNodeWithOrder("PHOTO", null, 1237c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa null, sPhotoByteArrayForComplicatedCase, mContentValuesForBase64V21, 1238c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa new TypeSet("JPEG"), null); 1239c955c8b0da0c9fcbad0ddcae76641358c27e72cdDaisuke Miyakawa } 12401de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa 1241a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng public void testBase64Without2CrLfForBlackBerry_Parse() { 1242a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng mVerifier.initForImportTest(V21, R.raw.v21_blackberry_photo); 1243a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng mVerifier.addPropertyNodesVerifierElem() 12449e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng .addExpectedNodeWithOrder("FN", "boogie") 12459e87c7606b0593b6789cdd177d80e31b991c864cChiao Cheng .addExpectedNodeWithOrder("N", "boogie") 1246a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng .addExpectedNodeWithOrder("PHOTO", null, 1247a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng null, sPhotoByteArrayForComplicatedCase, mContentValuesForBase64V21, 1248a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng null, null) 1249a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng .addExpectedNodeWithOrder("TEL", "+5555555", new TypeSet("WORK")) 1250a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng .addExpectedNodeWithOrder("TEL", "+5555556", new TypeSet("CELL")) 1251a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng .addExpectedNodeWithOrder("EMAIL", "forrestgump@walladalla.com", 1252a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng new TypeSet("INTERNET")); 1253a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng } 1254a4e576ce8ebf869c505f0fe0ea82faefae9940f8Chiao Cheng 12552c9cf383b1c956c7185e97c2417ebd85b48fc0acChiao Cheng public void testMalformedBase64PhotoThrowsVCardException() { 12562c9cf383b1c956c7185e97c2417ebd85b48fc0acChiao Cheng mVerifier.initForImportTest(V21, R.raw.v21_malformed_photo); 12572c9cf383b1c956c7185e97c2417ebd85b48fc0acChiao Cheng 12582c9cf383b1c956c7185e97c2417ebd85b48fc0acChiao Cheng String expectedMsgContent = "qgEPAAIAAAAHAAAAugEQAAIAAAAG:ASDF=="; 12592c9cf383b1c956c7185e97c2417ebd85b48fc0acChiao Cheng mVerifier.addVCardExceptionVerifier(expectedMsgContent); 12602c9cf383b1c956c7185e97c2417ebd85b48fc0acChiao Cheng } 12612c9cf383b1c956c7185e97c2417ebd85b48fc0acChiao Cheng 12621de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa public void testAndroidCustomPropertyV21() { 12631de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa mVerifier.initForImportTest(V21, R.raw.v21_android_custom_prop); 12641de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 12651de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa elem.addExpected("custom_mime1") 12661de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put("data1", "1").put("data2", "2").put("data3", "3").put("data4", "4") 12671de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put("data5", "5").put("data6", "6").put("data7", "7").put("data8", "8") 12681de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put("data9", "9").put("data10", "10").put("data11", "11").put("data12", "12") 12691de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put("data13", "13").put("data14", "14").put("data15", "15"); 12701de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa // 16'th elemnt ('p') should be ignored 12711de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa elem.addExpected("custom_mime2") 12721de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put("data1", "a").put("data2", "b").put("data3", "c").put("data4", "d") 12731de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put("data5", "e").put("data6", "f").put("data7", "g").put("data8", "h") 12741de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put("data9", "i").put("data10", "j").put("data11", "k").put("data12", "l") 12751de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa .put("data13", "m").put("data14", "n").put("data15", "o"); 12761de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa 12771de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa // custom_mime3 shouldn't be here, as there's no data 12781de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa 12791de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa // Smoke test. 12801de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa elem.addExpected("custom_mime4").put("data1", "z"); 12811de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa } 128295e66b00988bc16ecc17df31e47c873b2554b8ccinshik 128395e66b00988bc16ecc17df31e47c873b2554b8ccinshik public void testPauseWaitV30_Parse() { 128495e66b00988bc16ecc17df31e47c873b2554b8ccinshik mVerifier.initForImportTest(V30, R.raw.v30_pause_wait); 128595e66b00988bc16ecc17df31e47c873b2554b8ccinshik mVerifier.addPropertyNodesVerifierElem() 128695e66b00988bc16ecc17df31e47c873b2554b8ccinshik .addExpectedNodeWithOrder("FN", "Pause Wait") 128795e66b00988bc16ecc17df31e47c873b2554b8ccinshik .addExpectedNodeWithOrder("N", "Pause;Wait;;;", 128895e66b00988bc16ecc17df31e47c873b2554b8ccinshik Arrays.asList("Pause", "Wait", "", "", "")) 128995e66b00988bc16ecc17df31e47c873b2554b8ccinshik .addExpectedNodeWithOrder("TEL", "p1234p5678w9"); 129095e66b00988bc16ecc17df31e47c873b2554b8ccinshik } 129195e66b00988bc16ecc17df31e47c873b2554b8ccinshik 129295e66b00988bc16ecc17df31e47c873b2554b8ccinshik public void testPauseWaitV30() { 129395e66b00988bc16ecc17df31e47c873b2554b8ccinshik mVerifier.initForImportTest(V30, R.raw.v30_pause_wait); 129495e66b00988bc16ecc17df31e47c873b2554b8ccinshik final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem(); 129595e66b00988bc16ecc17df31e47c873b2554b8ccinshik elem.addExpected(StructuredName.CONTENT_ITEM_TYPE) 129695e66b00988bc16ecc17df31e47c873b2554b8ccinshik .put(StructuredName.FAMILY_NAME, "Pause") 129795e66b00988bc16ecc17df31e47c873b2554b8ccinshik .put(StructuredName.GIVEN_NAME, "Wait") 129895e66b00988bc16ecc17df31e47c873b2554b8ccinshik .put(StructuredName.DISPLAY_NAME, "Pause Wait"); 129995e66b00988bc16ecc17df31e47c873b2554b8ccinshik // See PhoneNumberUtils in Android SDK. 130095e66b00988bc16ecc17df31e47c873b2554b8ccinshik elem.addExpected(Phone.CONTENT_ITEM_TYPE) 130195e66b00988bc16ecc17df31e47c873b2554b8ccinshik .put(Phone.TYPE, Phone.TYPE_HOME) 130295e66b00988bc16ecc17df31e47c873b2554b8ccinshik .put(Phone.NUMBER, ",1234,5678;9"); 130395e66b00988bc16ecc17df31e47c873b2554b8ccinshik } 13044199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa} 1305