Home | History | Annotate | Download | only in mail

Lines Matching refs:Address

27  * This is a series of unit tests for the Address class.  These tests must be locally
43 + "noname@dom.com <noname@dom.com>" // personal == address
47 private static final Address PACK_ADDR_1 = new Address("john@gmail.com", "John Doe");
48 private static final Address PACK_ADDR_2 = new Address("foo@bar.com", null);
49 private static final Address PACK_ADDR_3 = new Address(
51 private static final Address[][] PACK_CASES = {
58 Address mAddress1;
59 Address mAddress2;
60 Address mAddress3;
63 * Setup code. We generate a handful of Address objects
69 mAddress1 = new Address("address1", "personal1");
70 mAddress2 = new Address("address2", "");
71 mAddress3 = new Address("address3", null);
102 Address address = new Address(bareAddress);
103 assertEquals("bare address", "user1@dom1.com", address.getAddress());
105 address.setAddress(bracketAddress);
106 assertEquals("bracket address", "user2@dom2.com", address.getAddress());
113 Address address = new Address("user1@dom1.org");
114 assertNull("no name", address.getPersonal());
116 address.setPersonal(null);
117 assertNull("null name", address.getPersonal());
119 address.setPersonal("");
120 assertNull("empty name", address.getPersonal());
122 address.setPersonal("\"\"");
123 assertNull("quoted empty address", address.getPersonal());
130 Address address = new Address("user1@dom1.net", "simple name");
131 assertEquals("simple name", "simple name", address.getPersonal());
133 address.setPersonal("big \\\"G\\\"");
134 assertEquals("quoted name", "big \"G\"", address.getPersonal());
136 address.setPersonal("=?UTF-8?Q?big \"G\"?=");
137 assertEquals("quoted printable name", "big \"G\"", address.getPersonal());
139 address.setPersonal("=?UTF-8?B?YmlnICJHIg==?=");
140 assertEquals("base64 encoded name", "big \"G\"", address.getPersonal());
147 Address address = new Address("user1@dom1.co.jp", "=?UTF-8?B?5bK45pys?=");
148 assertEquals("base64 utf-16 name", "\u5CB8\u672C", address.getPersonal());
150 address.setPersonal("\"=?UTF-8?Q?=E5=B2=B8=E6=9C=AC?=\"");
151 assertEquals("quoted printable utf-16 name", "\u5CB8\u672C", address.getPersonal());
153 address.setPersonal("=?ISO-2022-JP?B?GyRCNF9LXBsoQg==?=");
154 assertEquals("base64 jis encoded name", "\u5CB8\u672C", address.getPersonal());
156 address.setPersonal("\"=?UTF-8?B?8J2MgfCdjYY=?=\"");
157 assertEquals("base64 utf-32 name", "\uD834\uDF01\uD834\uDF46", address.getPersonal());
159 address.setPersonal("=?UTF-8?Q?=F0=9D=8C=81=F0=9D=8D=86?=");
161 "\uD834\uDF01\uD834\uDF46", address.getPersonal());
175 Address[] result;
178 result = Address.parse(null);
179 assertTrue("parsing null address", result != null && result.length == 0);
182 result = Address.parse("");
186 result = Address.parse(" ");
190 result = Address.parse(" , ");
195 * Test parsing for single address.
198 Address[] address1 = Address.parse("address1@dom1.com");
199 assertEquals("bare address count", 1, address1.length);
200 assertEquals("bare address", "address1@dom1.com", address1[0].getAddress());
201 assertNull("name of bare address", address1[0].getPersonal());
203 Address[] address2 = Address.parse("<address2@dom2.com>");
204 assertEquals("bracket address count", 1, address2.length);
205 assertEquals("bracket address", "address2@dom2.com", address2[0].getAddress());
206 assertNull("name of bracket address", address2[0].getPersonal());
208 Address[] address3 = Address.parse("first last <address3@dom3.org>");
209 assertEquals("address with name count", 1, address3.length);
210 assertEquals("address with name", "address3@dom3.org", address3[0].getAddress());
211 assertEquals("name of address with name", "first last", address3[0].getPersonal());
213 Address[] address4 = Address.parse("\"first,last\" <address4@dom4.org>");
214 assertEquals("address with quoted name count", 1, address4.length);
215 assertEquals("address with quoted name", "address4@dom4.org", address4[0].getAddress());
216 assertEquals("name of address with quoted name", "first,last", address4[0].getPersonal());
220 * Test parsing for illegal address.
223 Address[] address1 = Address.parse("address1");
226 Address[] address2 = Address.parse("address2@");
229 Address[] address3 = Address.parse("@dom3.com");
232 Address[] address4 = Address.parse("address4@sub@dom4.org");
235 Address[] address5 = Address.parse("address5@dom5");
238 Address[] address6 = Address.parse("address6@dom6.com.");
241 Address[] address7 = Address.parse("address7@.dom7.org");
246 * Test parsing for address part.
249 Address[] addresses = Address.parse("address1@dom1.net, <address2@dom2.com>");
250 assertEquals("address count", 2, addresses.length);
252 assertEquals("bare address", "address1@dom1.net", addresses[0].getAddress());
253 assertNull("bare address name", addresses[0].getPersonal());
255 assertEquals("bracket address", "address2@dom2.com", addresses[1].getAddress());
256 assertNull("bracket address name", addresses[1].getPersonal());
263 Address[] addresses = Address.parse(
266 assertEquals("address count", 2, addresses.length);
268 assertEquals("bare name address", "address1@dom1.net", addresses[0].getAddress());
271 assertEquals("double quoted name address", "address2@dom2.org", addresses[1].getAddress());
279 Address[] addresses = Address.parse(
282 assertEquals("address count", 2, addresses.length);
284 assertEquals("bare utf-16 name address", "address1@dom1.jp", addresses[0].getAddress());
288 assertEquals("double quoted utf-16 name address",
298 Address[] addresses = Address.parse(
301 assertEquals("address count", 2, addresses.length);
303 assertEquals("bare utf-32 name address", "address1@dom1.net", addresses[0].getAddress());
307 assertEquals("double quoted utf-32 name address",
317 Address[] addresses = Address.parse(MULTI_ADDRESSES_LIST);
321 assertEquals("no name 1 address", "noname1@dom1.com", addresses[0].getAddress());
323 assertEquals("no name 2 address", "noname2@dom2.com", addresses[1].getAddress());
325 assertEquals("simple name address", "address3@dom3.org", addresses[2].getAddress());
327 assertEquals("double quoted name address", "address4@dom4.org", addresses[3].getAddress());
329 assertEquals("quoted name address", "bigG@dom5.net", addresses[4].getAddress());
331 assertEquals("utf-16 name address", "address6@co.jp", addresses[5].getAddress());
333 assertEquals("utf-16 quoted name address", "address7@co.jp", addresses[6].getAddress());
336 assertEquals("utf-32 name address", "address8@ne.jp", addresses[7].getAddress());
338 assertEquals("utf-32 quoted name address", "address9@ne.jp", addresses[8].getAddress());
347 Address[] addresses = Address.parse(MULTI_ADDRESSES_LIST);
366 assertEquals("name==address", "noname@dom.com", addresses[9].toString());
373 final Address[] address = Address.parse("noname1@dom1.com");
374 final Address[] addresses = Address.parse(MULTI_ADDRESSES_LIST);
379 String line = Address.toString(address);
385 String line = Address.toString(addresses);
402 String line = Address.toString(address, "$");
409 String line = Address.toString(addresses, "$");
429 Address[] addresses = Address.parse(
432 assertEquals("address count", 2, addresses.length);
434 assertEquals("quoted name address", "bigG@dom1.com", addresses[0].getAddress());
437 assertEquals("encoded name address", "address2@co.jp", addresses[1].getAddress());
445 Address noName1 = new Address("noname1@dom1.com");
446 Address noName2 = new Address("<noname2@dom2.com>", "");
447 Address simpleName = new Address("address3@dom3.org", "simple name");
448 Address dquoteName = new Address("address4@dom4.org", "name,4");
449 Address quotedName = new Address("bigG@dom5.net", "big \"G\"");
450 Address utf16Name = new Address("<address6@co.jp>", "\"\u65E5\u672C\u8A9E\"");
451 Address utf32Name = new Address("<address8@ne.jp>", "\uD834\uDF01\uD834\uDF46");
452 Address sameName = new Address("address@dom.org", "address@dom.org");
455 assertEquals("no name 1 address", "noname1@dom1.com", noName1.getAddress());
457 assertEquals("no name 2 address", "noname2@dom2.com", noName2.getAddress());
459 assertEquals("simple name address", "address3@dom3.org", simpleName.getAddress());
461 assertEquals("double quoted name address", "address4@dom4.org", dquoteName.getAddress());
463 assertEquals("quoted name address", "bigG@dom5.net", quotedName.getAddress());
465 assertEquals("utf-16 name address", "address6@co.jp", utf16Name.getAddress());
467 assertEquals("utf-32 name address", "address8@ne.jp", utf32Name.getAddress());
469 assertEquals("name == address address", "address@dom.org", sameName.getAddress());
470 assertEquals("name == address name", "address@dom.org", sameName.getPersonal());
482 assertEquals("name == address", "\"address@dom.org\" <address@dom.org>",
490 Address noName1 = new Address("noname1@dom1.com");
491 Address noName2 = new Address("<noname2@dom2.com>", "");
492 Address simpleName = new Address("address3@dom3.org", "simple name");
493 Address dquoteName = new Address("address4@dom4.org", "name,4");
494 Address quotedName = new Address("bigG@dom5.net", "big \"G\"");
495 Address utf16Name = new Address("<address6@co.jp>", "\"\u65E5\u672C\u8A9E\"");
496 Address utf32Name = new Address("<address8@ne.jp>", "\uD834\uDF01\uD834\uDF46");
499 assertEquals("no name 1 address", "noname1@dom1.com", noName1.getAddress());
501 assertEquals("no name 2 address", "noname2@dom2.com", noName2.getAddress());
503 assertEquals("simple name address", "address3@dom3.org", simpleName.getAddress());
505 assertEquals("double quoted name address", "address4@dom4.org", dquoteName.getAddress());
507 assertEquals("quoted name address", "bigG@dom5.net", quotedName.getAddress());
509 assertEquals("utf-16 name address", "address6@co.jp", utf16Name.getAddress());
511 assertEquals("utf-32 name address", "address8@ne.jp", utf32Name.getAddress());
514 Address[] addresses = new Address[] {
517 String line = Address.toHeader(addresses);
543 Address[] list1 = null;
544 Address[] list2 = new Address[0];
545 Address[] list3 = new Address[] { mAddress1 };
546 Address[] list4 = new Address[] { mAddress1, mAddress2, mAddress3 };
548 assertEquals(null, Address.toFriendly(list1));
549 assertEquals(null, Address.toFriendly(list2));
550 assertEquals("personal1", Address.toFriendly(list3));
551 assertEquals("personal1, address2, address3", Address.toFriendly(list4));
564 result = Address.pack(null);
568 result = Address.pack(new Address[] { });
579 Address[] result;
582 result = Address.unpack(null);
583 assertTrue("unpacking null address", result != null && result.length == 0);
586 result = Address.unpack("");
590 private static boolean addressEquals(Address a1, Address a2) {
603 private static boolean addressArrayEquals(Address[] array1, Address[] array2) {
616 for (Address[] list : PACK_CASES) {
617 String packed = Address.pack(list);
618 assertTrue(packed, addressArrayEquals(list, Address.unpack(packed)));
626 assertNull(Address.unpackToString(null));
627 assertNull(Address.unpackToString(""));
629 for (Address[] list : PACK_CASES) {
630 String packed = Address.pack(list);
631 String s1 = Address.unpackToString(packed);
632 String s2 = Address.toString(Address.unpack(packed));
641 String s1 = Address.parseAndPack(MULTI_ADDRESSES_LIST);
642 String s2 = Address.pack(Address.parse(MULTI_ADDRESSES_LIST));
647 Address[] addrArray = new Address[1];
648 for (Address address : new Address[]{PACK_ADDR_1, PACK_ADDR_2, PACK_ADDR_3}) {
649 String packed1 = address.pack();
650 addrArray[0] = address;
651 String packed2 = Address.pack(addrArray);
662 assertNull(Address.unpackFirst(null));
663 assertNull(Address.unpackFirst(""));
665 for (Address[] list : PACK_CASES) {
666 String packed = Address.pack(list);
667 Address[] array = Address.unpack(packed);
668 Address first = Address.unpackFirst(packed);
676 for (String address : notValid) {
677 assertTrue(address, !Address.isValidAddress(address));
679 for (String address : valid) {
680 assertTrue(address, Address.isValidAddress(address));
683 // isAllValid() must accept empty address list as valid
684 assertTrue("Empty address list is valid", Address.isAllValid(""));
690 * URLENCODE(address)[;URLENCODE(personal)]
693 private static String legacyPack(Address[] addresses) {
701 Address address = addresses[i];
703 sb.append(URLEncoder.encode(address.getAddress(), "UTF-8"));
704 if (address.getPersonal() != null) {
706 sb.append(URLEncoder.encode(address.getPersonal(), "UTF-8"));