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