1 /* 2 * Copyright (C) 2008 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 */ 16 17 package android.os.cts; 18 19 import junit.framework.TestCase; 20 import android.os.Parcel; 21 import android.os.PatternMatcher; 22 23 public class PatternMatcherTest extends TestCase { 24 25 private PatternMatcher mPatternMatcher; 26 27 @Override 28 protected void setUp() throws Exception { 29 30 super.setUp(); 31 mPatternMatcher = null; 32 } 33 34 public void testConstructor() { 35 36 // new the PatternMatcher instance 37 mPatternMatcher = new PatternMatcher("test", PatternMatcher.PATTERN_LITERAL); 38 assertNotNull(mPatternMatcher); 39 40 // new the PatternMatcher instance 41 Parcel p = Parcel.obtain(); 42 p.writeString("test"); 43 p.writeInt(PatternMatcher.PATTERN_LITERAL); 44 p.setDataPosition(0); 45 mPatternMatcher = new PatternMatcher(p); 46 assertNotNull(mPatternMatcher); 47 48 } 49 50 public void testGetType() { 51 52 mPatternMatcher = new PatternMatcher("test", PatternMatcher.PATTERN_LITERAL); 53 assertEquals(PatternMatcher.PATTERN_LITERAL, mPatternMatcher.getType()); 54 55 mPatternMatcher = new PatternMatcher("test", PatternMatcher.PATTERN_PREFIX); 56 assertEquals(PatternMatcher.PATTERN_PREFIX, mPatternMatcher.getType()); 57 58 mPatternMatcher = new PatternMatcher("test", PatternMatcher.PATTERN_SIMPLE_GLOB); 59 assertEquals(PatternMatcher.PATTERN_SIMPLE_GLOB, mPatternMatcher.getType()); 60 } 61 62 public void testGetPath() { 63 64 // set the expected value 65 String expected1 = "test1"; 66 67 mPatternMatcher = new PatternMatcher(expected1, PatternMatcher.PATTERN_LITERAL); 68 assertEquals(expected1, mPatternMatcher.getPath()); 69 70 String expected2 = "test2"; 71 72 mPatternMatcher = new PatternMatcher(expected2, PatternMatcher.PATTERN_LITERAL); 73 assertEquals(expected2, mPatternMatcher.getPath()); 74 } 75 76 public void testToString() { 77 78 // set the expected value 79 String str = "test"; 80 String expected1 = "PatternMatcher{LITERAL: test}"; 81 String expected2 = "PatternMatcher{PREFIX: test}"; 82 String expected3 = "PatternMatcher{GLOB: test}"; 83 84 mPatternMatcher = new PatternMatcher(str, PatternMatcher.PATTERN_LITERAL); 85 assertEquals(expected1, mPatternMatcher.toString()); 86 87 mPatternMatcher = new PatternMatcher(str, PatternMatcher.PATTERN_PREFIX); 88 assertEquals(expected2, mPatternMatcher.toString()); 89 90 mPatternMatcher = new PatternMatcher(str, PatternMatcher.PATTERN_SIMPLE_GLOB); 91 assertEquals(expected3, mPatternMatcher.toString()); 92 93 } 94 95 public void testWriteToParcel() { 96 97 String expected = "test1"; 98 99 mPatternMatcher = new PatternMatcher(expected, PatternMatcher.PATTERN_LITERAL); 100 Parcel p = Parcel.obtain(); 101 mPatternMatcher.writeToParcel(p, 0); 102 103 p.setDataPosition(0); 104 assertEquals(expected, p.readString()); 105 assertEquals(PatternMatcher.PATTERN_LITERAL, p.readInt()); 106 } 107 108 public void testDescribeContents() { 109 110 // set the expected value 111 mPatternMatcher = new PatternMatcher("test", PatternMatcher.PATTERN_LITERAL); 112 assertEquals(0, mPatternMatcher.describeContents()); 113 } 114 115 public void testMatch() { 116 117 // set the expected value 118 mPatternMatcher = new PatternMatcher("test", PatternMatcher.PATTERN_LITERAL); 119 assertTrue(mPatternMatcher.match("test")); 120 assertFalse(mPatternMatcher.match("test1")); 121 122 mPatternMatcher = new PatternMatcher("test", PatternMatcher.PATTERN_PREFIX); 123 assertTrue(mPatternMatcher.match("testHello")); 124 assertFalse(mPatternMatcher.match("atestHello")); 125 126 mPatternMatcher = new PatternMatcher("test", -1); 127 assertFalse(mPatternMatcher.match("testHello")); 128 assertFalse(mPatternMatcher.match("test")); 129 assertFalse(mPatternMatcher.match("atestHello")); 130 131 mPatternMatcher = new PatternMatcher("", PatternMatcher.PATTERN_SIMPLE_GLOB); 132 assertTrue(mPatternMatcher.match("")); 133 134 mPatternMatcher = new PatternMatcher("....", PatternMatcher.PATTERN_SIMPLE_GLOB); 135 assertTrue(mPatternMatcher.match("test")); 136 137 mPatternMatcher = new PatternMatcher("d*", PatternMatcher.PATTERN_SIMPLE_GLOB); 138 assertFalse(mPatternMatcher.match("test")); 139 } 140 141 } 142