blob: 47c4544fd0bdb32a5c4d668c2444156358e6f179 [file] [log] [blame]
/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.text.util.cts;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
import android.text.util.Rfc822Token;
import org.junit.Test;
import org.junit.runner.RunWith;
/**
* Test {@link Rfc822Token}.
*/
@SmallTest
@RunWith(AndroidJUnit4.class)
public class Rfc822TokenTest {
@Test
public void testConstructor() {
final String name = "John Doe";
final String address = "jdoe@example.net";
final String comment = "work";
Rfc822Token rfc822Token1 = new Rfc822Token(name, address, comment);
assertEquals(name, rfc822Token1.getName());
assertEquals(address, rfc822Token1.getAddress());
assertEquals(comment, rfc822Token1.getComment());
Rfc822Token rfc822Token2 = new Rfc822Token(null, address, comment);
assertNull(rfc822Token2.getName());
assertEquals(address, rfc822Token2.getAddress());
assertEquals(comment, rfc822Token2.getComment());
Rfc822Token rfc822Token3 = new Rfc822Token(name, null, comment);
assertEquals(name, rfc822Token3.getName());
assertNull(rfc822Token3.getAddress());
assertEquals(comment, rfc822Token3.getComment());
Rfc822Token rfc822Token4 = new Rfc822Token(name, address, null);
assertEquals(name, rfc822Token4.getName());
assertEquals(address, rfc822Token4.getAddress());
assertNull(rfc822Token4.getComment());
}
@Test
public void testAccessName() {
String name = "John Doe";
final String address = "jdoe@example.net";
final String comment = "work";
Rfc822Token rfc822Token = new Rfc822Token(name, address, comment);
assertEquals(name, rfc822Token.getName());
name = "Ann Lee";
rfc822Token.setName(name);
assertEquals(name, rfc822Token.getName());
name = "Charles Hanson";
rfc822Token.setName(name);
assertEquals(name, rfc822Token.getName());
rfc822Token.setName(null);
assertNull(rfc822Token.getName());
}
@Test
public void testQuoteComment() {
assertEquals("work", Rfc822Token.quoteComment("work"));
assertEquals("\\\\\\(work\\)", Rfc822Token.quoteComment("\\(work)"));
}
@Test(expected=NullPointerException.class)
public void testQuoteCommentNull() {
Rfc822Token.quoteComment(null);
}
@Test
public void testAccessComment() {
final String name = "John Doe";
final String address = "jdoe@example.net";
String comment = "work";
Rfc822Token rfc822Token = new Rfc822Token(name, address, comment);
assertEquals(comment, rfc822Token.getComment());
comment = "secret";
rfc822Token.setComment(comment);
assertEquals(comment, rfc822Token.getComment());
comment = "";
rfc822Token.setComment(comment);
assertEquals(comment, rfc822Token.getComment());
rfc822Token.setComment(null);
assertNull(rfc822Token.getComment());
}
@Test
public void testAccessAddress() {
final String name = "John Doe";
String address = "jdoe@example.net";
final String comment = "work";
Rfc822Token rfc822Token = new Rfc822Token(name, address, comment);
assertEquals(address, rfc822Token.getAddress());
address = "johndoe@example.com";
rfc822Token.setAddress(address);
assertEquals(address, rfc822Token.getAddress());
address = "";
rfc822Token.setAddress(address);
assertEquals(address, rfc822Token.getAddress());
rfc822Token.setAddress(null);
assertNull(rfc822Token.getAddress());
}
@Test
public void testToString() {
Rfc822Token rfc822Token1 = new Rfc822Token("John Doe", "jdoe@example.net", "work");
assertEquals("John Doe (work) <jdoe@example.net>", rfc822Token1.toString());
Rfc822Token rfc822Token2 = new Rfc822Token("\"John Doe\"",
"\\jdoe@example.net", "\\(work)");
assertEquals("\"\\\"John Doe\\\"\" (\\\\\\(work\\)) <\\jdoe@example.net>",
rfc822Token2.toString());
Rfc822Token rfc822Token3 = new Rfc822Token(null, "jdoe@example.net", "");
assertEquals("<jdoe@example.net>", rfc822Token3.toString());
Rfc822Token rfc822Token4 = new Rfc822Token("John Doe", null, "work");
assertEquals("John Doe (work) ", rfc822Token4.toString());
Rfc822Token rfc822Token5 = new Rfc822Token("John Doe", "jdoe@example.net", null);
assertEquals("John Doe <jdoe@example.net>", rfc822Token5.toString());
Rfc822Token rfc822Token6 = new Rfc822Token(null, null, null);
assertEquals("", rfc822Token6.toString());
}
@Test
public void testQuoteNameIfNecessary() {
assertEquals("UPPERlower space 0123456789",
Rfc822Token.quoteNameIfNecessary("UPPERlower space 0123456789"));
assertEquals("\"jdoe@example.net\"", Rfc822Token.quoteNameIfNecessary("jdoe@example.net"));
assertEquals("\"*name\"", Rfc822Token.quoteNameIfNecessary("*name"));
assertEquals("", Rfc822Token.quoteNameIfNecessary(""));
}
@Test(expected=NullPointerException.class)
public void testQuoteNameIfNecessaryNull() {
Rfc822Token.quoteNameIfNecessary(null);
}
@Test
public void testQuoteName() {
assertEquals("John Doe", Rfc822Token.quoteName("John Doe"));
assertEquals("\\\"John Doe\\\"", Rfc822Token.quoteName("\"John Doe\""));
assertEquals("\\\\\\\"John Doe\\\"", Rfc822Token.quoteName("\\\"John Doe\""));
}
@Test(expected=NullPointerException.class)
public void testQuoteNameNull() {
Rfc822Token.quoteName(null);
}
}