|  |  |  | package org.thoughtcrime.securesms.database; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import org.junit.Before; | 
					
						
							|  |  |  | import org.junit.Test; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import static junit.framework.Assert.assertEquals; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | public class AddressTest { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Before | 
					
						
							|  |  |  |   public void setup() {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Test | 
					
						
							|  |  |  |   public void testAddressString() throws Exception { | 
					
						
							|  |  |  |     Address.ExternalAddressFormatter formatter = new Address.ExternalAddressFormatter("+14152222222"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("bonbon"), "bonbon"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Test | 
					
						
							|  |  |  |   public void testAddressShortCode() throws Exception { | 
					
						
							|  |  |  |     Address.ExternalAddressFormatter formatter = new Address.ExternalAddressFormatter("+14152222222"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("40404"), "40404"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Test | 
					
						
							|  |  |  |   public void testEmailAddress() throws Exception { | 
					
						
							|  |  |  |     Address.ExternalAddressFormatter formatter = new Address.ExternalAddressFormatter("+14152222222"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("junk@junk.net"), "junk@junk.net"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Test | 
					
						
							|  |  |  |   public void testNumberArbitrary() throws Exception { | 
					
						
							|  |  |  |     Address.ExternalAddressFormatter formatter = new Address.ExternalAddressFormatter("+14152222222"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("(415) 111-1122"), "+14151111122"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("(415) 111 1123"), "+14151111123"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("415-111-1124"), "+14151111124"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("415.111.1125"), "+14151111125"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("+1 415.111.1126"), "+14151111126"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("+1 415 111 1127"), "+14151111127"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("+1 (415) 111 1128"), "+14151111128"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("911"), "911"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("+456-7890"), "+4567890"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     formatter = new Address.ExternalAddressFormatter("+442079460010"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("(020) 7946 0018"), "+442079460018"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Test | 
					
						
							|  |  |  |   public void testUsNumbers() { | 
					
						
							|  |  |  |     Address.ExternalAddressFormatter formatter = new Address.ExternalAddressFormatter("+16105880522"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assertEquals("+551234567890", formatter.format("+551234567890")); | 
					
						
							|  |  |  |     assertEquals("+11234567890", formatter.format("(123) 456-7890")); | 
					
						
							|  |  |  |     assertEquals("+11234567890", formatter.format("1234567890")); | 
					
						
							|  |  |  |     assertEquals("+16104567890", formatter.format("456-7890")); | 
					
						
							|  |  |  |     assertEquals("+16104567890", formatter.format("4567890")); | 
					
						
							|  |  |  |     assertEquals("+11234567890", formatter.format("011 1 123 456 7890")); | 
					
						
							|  |  |  |     assertEquals("+5511912345678", formatter.format("0115511912345678")); | 
					
						
							|  |  |  |     assertEquals("+16105880522", formatter.format("+16105880522")); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Test | 
					
						
							|  |  |  |   public void testBrNumbers() { | 
					
						
							|  |  |  |     Address.ExternalAddressFormatter formatter = new Address.ExternalAddressFormatter("+5521912345678"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assertEquals("+16105880522", formatter.format("+16105880522")); | 
					
						
							|  |  |  |     assertEquals("+552187654321", formatter.format("8765 4321")); | 
					
						
							|  |  |  |     assertEquals("+5521987654321", formatter.format("9 8765 4321")); | 
					
						
							|  |  |  |     assertEquals("+552287654321", formatter.format("22 8765 4321")); | 
					
						
							|  |  |  |     assertEquals("+5522987654321", formatter.format("22 9 8765 4321")); | 
					
						
							|  |  |  |     assertEquals("+551234567890", formatter.format("+55 (123) 456-7890")); | 
					
						
							|  |  |  |     assertEquals("+14085048577", formatter.format("002214085048577")); | 
					
						
							|  |  |  |     assertEquals("+5511912345678", formatter.format("011912345678")); | 
					
						
							|  |  |  |     assertEquals("+5511912345678", formatter.format("02111912345678")); | 
					
						
							|  |  |  |     assertEquals("+551234567", formatter.format("1234567")); | 
					
						
							|  |  |  |     assertEquals("+5521912345678", formatter.format("+5521912345678")); | 
					
						
							|  |  |  |     assertEquals("+552112345678", formatter.format("+552112345678")); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Test | 
					
						
							|  |  |  |   public void testGroup() throws Exception { | 
					
						
							|  |  |  |     Address.ExternalAddressFormatter formatter = new Address.ExternalAddressFormatter("+14152222222"); | 
					
						
							|  |  |  |     assertEquals(formatter.format("__textsecure_group__!foobar"), "__textsecure_group__!foobar"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @Test | 
					
						
							|  |  |  |   public void testLostLocalNumber() throws Exception { | 
					
						
							|  |  |  |     Address.ExternalAddressFormatter formatter = new Address.ExternalAddressFormatter("US", true); | 
					
						
							|  |  |  |     assertEquals(formatter.format("(415) 111-1122"), "+14151111122"); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |