VCardUtilsTests.java revision 4199c54c527330ac01699b176e7bca186a3aa3a4
1/* 2 * Copyright (C) 2009 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16package com.android.vcard.tests; 17 18import com.android.vcard.VCardUtils; 19 20import junit.framework.TestCase; 21 22import java.util.List; 23 24public class VCardUtilsTests extends TestCase { 25 public void testContainsOnlyPrintableAscii() { 26 assertTrue(VCardUtils.containsOnlyPrintableAscii((String)null)); 27 assertTrue(VCardUtils.containsOnlyPrintableAscii((String[])null)); 28 assertTrue(VCardUtils.containsOnlyPrintableAscii((List<String>)null)); 29 assertTrue(VCardUtils.containsOnlyPrintableAscii("")); 30 assertTrue(VCardUtils.containsOnlyPrintableAscii("abcdefghijklmnopqrstuvwxyz")); 31 assertTrue(VCardUtils.containsOnlyPrintableAscii("ABCDEFGHIJKLMNOPQRSTUVWXYZ")); 32 StringBuilder builder = new StringBuilder(); 33 for (int i = 0x20; i < 0x7F; i++) { 34 builder.append((char)i); 35 } 36 assertTrue(VCardUtils.containsOnlyPrintableAscii(builder.toString())); 37 assertTrue(VCardUtils.containsOnlyPrintableAscii("\r\n")); 38 assertFalse(VCardUtils.containsOnlyPrintableAscii("\u0019")); 39 assertFalse(VCardUtils.containsOnlyPrintableAscii("\u007F")); 40 } 41 42 public void testContainsOnlyNonCrLfPrintableAscii() { 43 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii((String)null)); 44 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii((String[])null)); 45 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii((List<String>)null)); 46 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii("")); 47 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii("abcdefghijklmnopqrstuvwxyz")); 48 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii("ABCDEFGHIJKLMNOPQRSTUVWXYZ")); 49 StringBuilder builder = new StringBuilder(); 50 for (int i = 0x20; i < 0x7F; i++) { 51 builder.append((char)i); 52 } 53 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii(builder.toString())); 54 assertFalse(VCardUtils.containsOnlyNonCrLfPrintableAscii("\u0019")); 55 assertFalse(VCardUtils.containsOnlyNonCrLfPrintableAscii("\u007F")); 56 assertFalse(VCardUtils.containsOnlyNonCrLfPrintableAscii("\r")); 57 assertFalse(VCardUtils.containsOnlyNonCrLfPrintableAscii("\n")); 58 } 59 60 public void testContainsOnlyAlphaDigitHyphen() { 61 assertTrue(VCardUtils.containsOnlyAlphaDigitHyphen((String)null)); 62 assertTrue(VCardUtils.containsOnlyAlphaDigitHyphen((String[])null)); 63 assertTrue(VCardUtils.containsOnlyAlphaDigitHyphen((List<String>)null)); 64 assertTrue(VCardUtils.containsOnlyAlphaDigitHyphen("")); 65 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii("abcdefghijklmnopqrstuvwxyz")); 66 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii("ABCDEFGHIJKLMNOPQRSTUVWXYZ")); 67 assertTrue(VCardUtils.containsOnlyNonCrLfPrintableAscii("0123456789-")); 68 for (int i = 0; i < 0x30; i++) { 69 if (i == 0x2D) { // - 70 continue; 71 } 72 assertFalse(VCardUtils.containsOnlyAlphaDigitHyphen(String.valueOf((char)i))); 73 } 74 for (int i = 0x3A; i < 0x41; i++) { 75 assertFalse(VCardUtils.containsOnlyAlphaDigitHyphen(String.valueOf((char)i))); 76 } 77 for (int i = 0x5B; i < 0x61; i++) { 78 assertFalse(VCardUtils.containsOnlyAlphaDigitHyphen(String.valueOf((char)i))); 79 } 80 for (int i = 0x7B; i < 0x100; i++) { 81 assertFalse(VCardUtils.containsOnlyAlphaDigitHyphen(String.valueOf((char)i))); 82 } 83 } 84} 85