PatternSyntaxExceptionTest.java revision f6c387128427e121477c1b32ad35cdcaa5101ba3
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 17package org.apache.harmony.regex.tests.java.util.regex; 18 19import java.util.regex.PatternSyntaxException; 20 21import junit.framework.TestCase; 22import dalvik.annotation.TestTargets; 23import dalvik.annotation.TestLevel; 24import dalvik.annotation.TestTargetNew; 25import dalvik.annotation.TestTargetClass; 26 27@TestTargetClass(PatternSyntaxException.class) 28public class PatternSyntaxExceptionTest extends TestCase { 29 30 @TestTargets({ 31 @TestTargetNew( 32 level = TestLevel.COMPLETE, 33 notes = "", 34 method = "PatternSyntaxException", 35 args = {java.lang.String.class, java.lang.String.class, int.class} 36 ), 37 @TestTargetNew( 38 level = TestLevel.COMPLETE, 39 notes = "", 40 method = "getDescription", 41 args = {} 42 ), 43 @TestTargetNew( 44 level = TestLevel.COMPLETE, 45 notes = "", 46 method = "getPattern", 47 args = {} 48 ), 49 @TestTargetNew( 50 level = TestLevel.COMPLETE, 51 notes = "", 52 method = "getIndex", 53 args = {} 54 ), 55 @TestTargetNew( 56 level = TestLevel.COMPLETE, 57 notes = "", 58 method = "getMessage", 59 args = {} 60 ) 61 }) 62 public void testPatternSyntaxException() { 63 // Normal case 64 PatternSyntaxException e = new PatternSyntaxException("Foo", "Bar", 0); 65 assertEquals("Foo", e.getDescription()); 66 assertEquals("Bar", e.getPattern()); 67 assertEquals(0, e.getIndex()); 68 69 String s = e.getMessage(); 70 assertTrue(s.contains("Foo")); 71 assertTrue(s.contains("Bar")); 72 assertTrue(s.contains("0")); 73 74 // No description specified 75 e = new PatternSyntaxException(null, "Bar", 0); 76 assertEquals(null, e.getDescription()); 77 assertEquals("Bar", e.getPattern()); 78 assertEquals(0, e.getIndex()); 79 80 s = e.getMessage(); 81 assertFalse(s.contains("Foo")); 82 assertTrue(s.contains("Bar")); 83 assertTrue(s.contains("0")); 84 85 // No pattern specified 86 e = new PatternSyntaxException("Foo", null, 0); 87 assertEquals("Foo", e.getDescription()); 88 assertEquals(null, e.getPattern()); 89 assertEquals(0, e.getIndex()); 90 91 s = e.getMessage(); 92 assertTrue(s.contains("Foo")); 93 assertFalse(s.contains("Bar")); 94 assertTrue(s.contains("0")); 95 96 // Neither description nor pattern specified 97 e = new PatternSyntaxException(null, null, 0); 98 assertEquals(null, e.getDescription()); 99 assertEquals(null, e.getPattern()); 100 assertEquals(0, e.getIndex()); 101 102 s = e.getMessage(); 103 assertFalse(s.contains("Foo")); 104 assertFalse(s.contains("Bar")); 105 assertTrue(s.contains("0")); 106 107 // No index specified 108 e = new PatternSyntaxException("Foo", "Bar", -1); 109 assertEquals(-1, e.getIndex()); 110 111 s = e.getMessage(); 112 assertFalse(s.contains("^")); 113 114 // No pattern, but index specified 115 e = new PatternSyntaxException("Foo", null, 0); 116 assertEquals(0, e.getIndex()); 117 118 s = e.getMessage(); 119 assertFalse(s.contains("^")); 120 } 121 122} 123