Home | History | Annotate | Download | only in cts
      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