1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License. You may obtain a copy of the License at 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.apache.harmony.luni.tests.java.lang; 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 20ef7122278207e33b724c6360945f9eae1f9a5a58Jorg Pleumannimport dalvik.annotation.BrokenTest; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.UnsupportedEncodingException; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Arrays; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Calendar; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Date; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.IllegalFormatException; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Locale; 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.regex.Pattern; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.regex.PatternSyntaxException; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(String.class) 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class String2Test extends junit.framework.TestCase { 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String hw1 = "HelloWorld"; 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String hw2 = "HelloWorld"; 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String hwlc = "helloworld"; 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String hwuc = "HELLOWORLD"; 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String hello1 = "Hello"; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String world1 = "World"; 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String comp11 = "Test String"; 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Object obj = new Object(); 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] buf = { 'W', 'o', 'r', 'l', 'd' }; 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] rbuf = new char[5]; 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String() 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor() { 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String() 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Created incorrect string", new String().equals("")); 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(byte[]) 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class} 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$B() { 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(byte []) 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to create string", new String(hw1.getBytes()) 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(hw1)); 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(byte[], int) 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class} 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @SuppressWarnings("deprecation") 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$BI() { 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(byte [], int) 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s = new String(new byte[] { 65, 66, 67, 68, 69 }, 0); 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect string returned: " + s, s.equals("ABCDE")); 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project s = new String(new byte[] { 65, 66, 67, 68, 69 }, 1); 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Did not use nonzero hibyte", !s.equals("ABCDE")); 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(byte[], int, int) 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class} 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$BII() { 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(byte [], int, int) 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to create string", new String(hw1.getBytes(), 0, hw1 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getBytes().length).equals(hw1)); 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project boolean exception = false; 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(new byte[0], 0, Integer.MAX_VALUE); 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project exception = true; 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Did not throw exception", exception); 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(byte[], int, int, int) 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class, int.class} 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @SuppressWarnings("deprecation") 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$BIII() { 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(byte [], int, int, int) 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s = new String(new byte[] { 65, 66, 67, 68, 69 }, 0, 1, 3); 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect string returned: " + s, s.equals("BCD")); 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project s = new String(new byte[] { 65, 66, 67, 68, 69 }, 1, 0, 5); 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Did not use nonzero hibyte", !s.equals("ABCDE")); 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(byte[], int, int, java.lang.String) 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class, java.lang.String.class} 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$BIILjava_lang_String() throws Exception { 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(byte [], int, int, java.lang.String) 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s = null; 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project s = new String(new byte[] { 65, 66, 67, 68, 69 }, 0, 5, "8859_1"); 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Threw exception : " + e.getMessage()); 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect string returned: " + s, s.equals("ABCDE")); 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //Regression for HARMONY-1111 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(new String(new byte[] {(byte)0xC0}, 0, 1, "UTF-8")); 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(byte[], java.lang.String) 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, java.lang.String.class} 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$BLjava_lang_String() { 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(byte [], java.lang.String) 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s = null; 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project s = new String(new byte[] { 65, 66, 67, 68, 69 }, "8859_1"); 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Threw exception : " + e.getMessage()); 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect string returned: " + s, s.equals("ABCDE")); 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(char[]) 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char[].class} 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$C() { 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(char []) 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed Constructor test", "World", new String(buf)); 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(char[], int, int) 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char[].class, int.class, int.class} 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$CII() { 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(char [], int, int) 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] buf = { 'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd' }; 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s = new String(buf, 0, buf.length); 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect string created", hw1.equals(s)); 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project boolean exception = false; 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(new char[0], 0, Integer.MAX_VALUE); 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project exception = true; 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Did not throw exception", exception); 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(int[], int, int) 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int[].class, int.class, int.class} 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor$III() { 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(int [], int, int) 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(new int[0], 2, Integer.MAX_VALUE); 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Did not throw exception"); 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(java.lang.String) 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_lang_String() { 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(java.lang.String) 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s = new String("Hello World"); 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed to construct correct string", "Hello World", s 258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#String(java.lang.StringBuffer) 263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "String", 268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.StringBuffer.class} 269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_lang_StringBuffer() { 271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String(java.lang.StringBuffer) 272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StringBuffer sb = new StringBuffer(); 273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project sb.append("HelloWorld"); 274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Created incorrect string", "HelloWorld", new String(sb) 275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#charAt(int) 280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "charAt", 285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_charAtI() { 288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method char java.lang.String.charAt(int) 289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect character returned", hw1.charAt(5) == 'W' 290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && (hw1.charAt(1) != 'Z')); 291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String testString = "Test String"; 293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testString.charAt(testString.length()); 295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException iobe) { 297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testString.charAt(Integer.MAX_VALUE); 302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException iobe) { 304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testString.charAt(-1); 309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException iobe) { 311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#compareTo(java.lang.String) 317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "compareTo", 322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_compareToLjava_lang_String() { 325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.compareTo(java.lang.String) 326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect value for first < second", "aaaaab" 327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareTo("aaaaac") < 0); 328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect value for first = second", 0, "aaaaac" 329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareTo("aaaaac")); 330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect value for first > second", "aaaaac" 331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareTo("aaaaab") > 0); 332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Considered case to not be of importance", !("A" 333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareTo("a") == 0)); 334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "fixture".compareTo(null); 337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("No NPE"); 338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#compareToIgnoreCase(java.lang.String) 344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "compareToIgnoreCase", 349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_compareToIgnoreCaseLjava_lang_String() { 352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int 353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String.compareToIgnoreCase(java.lang.String) 354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect value for first < second", "aaaaab" 355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("aaaaac") < 0); 356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect value for first = second", 0, "aaaaac" 357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("aaaaac")); 358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect value for first > second", "aaaaac" 359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("aaaaab") > 0); 360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Considered case to not be of importance", 0, "A" 361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("a")); 362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("0xbf should not compare = to 'ss'", "\u00df" 364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("ss") != 0); 365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("0x130 should compare = to 'i'", 0, "\u0130" 366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("i")); 367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("0x131 should compare = to 'i'", 0, "\u0131" 368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("i")); 369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Locale defLocale = Locale.getDefault(); 371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Locale.setDefault(new Locale("tr", "")); 373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Locale tr: 0x130 should compare = to 'i'", 0, "\u0130" 374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("i")); 375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Locale tr: 0x131 should compare = to 'i'", 0, "\u0131" 376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .compareToIgnoreCase("i")); 377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } finally { 378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Locale.setDefault(defLocale); 379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "fixture".compareToIgnoreCase(null); 383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("No NPE"); 384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#concat(java.lang.String) 390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "concat", 395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_concatLjava_lang_String() { 398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String 399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String.concat(java.lang.String) 400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Concatenation failed to produce correct string", hello1 401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .concat(world1).equals(hw1)); 402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project boolean exception = false; 403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String a = new String("test"); 405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String b = null; 406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project a.concat(b); 407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project exception = true; 409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Concatenation failed to throw NP exception (1)", exception); 411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project exception = false; 412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String a = new String(""); 414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String b = null; 415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project a.concat(b); 416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project exception = true; 418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Concatenation failed to throw NP exception (2)", exception); 420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s1 = ""; 422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s2 = "s2"; 423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s3 = s1.concat(s2); 424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(s2, s3); 425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project s3 = s2.concat(s1); 427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertSame(s2, s3); 428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#copyValueOf(char[]) 432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "copyValueOf", 437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char[].class} 438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_copyValueOf$C() { 440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.copyValueOf(char 441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // []) 442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] t = { 'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd' }; 443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("copyValueOf returned incorrect String", "HelloWorld", String.copyValueOf( 444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project t)); 445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#copyValueOf(char[], int, int) 449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "copyValueOf", 454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char[].class, int.class, int.class} 455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_copyValueOf$CII() { 457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.copyValueOf(char 458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // [], int, int) 459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] t = { 'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd' }; 460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("copyValueOf returned incorrect String", "World", String.copyValueOf( 461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project t, 5, 5)); 462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#endsWith(java.lang.String) 466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "endsWith", 471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_endsWithLjava_lang_String() { 474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean java.lang.String.endsWith(java.lang.String) 475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to fine ending string", hw1.endsWith("ld")); 476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Doesn't return false value.", hw1.endsWith("ld ")); 477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Doesn't return false value.", hw1.endsWith(" ")); 478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect value for empty string.", hw1.endsWith("")); 479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.endsWith(null); 481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("NullPointerException is not thrown."); 482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(NullPointerException npe) { 483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#equals(java.lang.Object) 489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "equals", 494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.Object.class} 495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_equalsLjava_lang_Object() { 497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean java.lang.String.equals(java.lang.Object) 498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("String not equal", hw1.equals(hw2) && !(hw1.equals(comp11))); 499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#equalsIgnoreCase(java.lang.String) 503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "equalsIgnoreCase", 508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_equalsIgnoreCaseLjava_lang_String() { 511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean 512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String.equalsIgnoreCase(java.lang.String) 513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("lc version returned unequal to uc", hwlc 514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equalsIgnoreCase(hwuc)); 515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned false for equals strings.", hwlc 517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equalsIgnoreCase(hwlc)); 518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for different strings.", hwlc 520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equalsIgnoreCase(hwuc + " ")); 521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#getBytes() 525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getBytes", 530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 532ef7122278207e33b724c6360945f9eae1f9a5a58Jorg Pleumann @BrokenTest("Takes too long for the CTS host") 533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getBytes() { 534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method byte [] java.lang.String.getBytes() 535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] sbytes = hw1.getBytes(); 536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < hw1.length(); i++) 537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect bytes", sbytes[i] == (byte) hw1 538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .charAt(i)); 539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] chars = new char[1]; 541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < 65536; i++) { 542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // skip surrogates 543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (i == 0xd800) 544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project i = 0xe000; 545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] result = null; 546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project chars[0] = (char) i; 547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String string = new String(chars); 548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result = string.getBytes("8859_1"); 550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (i < 256) { 551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals((byte)i, result[0]); 552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } else { 553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* 554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Substitue character should be 0x1A [1], but may be 555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * '?' character. 556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * [1] http://en.wikipedia.org/wiki/Substitute_character 557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue(result[0] == '?' || result[0] == 0x1a); 559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (java.io.UnsupportedEncodingException e) { 561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result = string.getBytes("UTF8"); 564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int length = i < 0x80 ? 1 : (i < 0x800 ? 2 : 3); 565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong length UTF8: " + Integer.toHexString(i), 566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result.length == length); 567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue( 568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Wrong bytes UTF8: " + Integer.toHexString(i), 569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (i < 0x80 && result[0] == i) 570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project || (i >= 0x80 571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && i < 0x800 572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && result[0] == (byte) (0xc0 | ((i & 0x7c0) >> 6)) && result[1] == (byte) (0x80 | (i & 0x3f))) 573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project || (i >= 0x800 574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && result[0] == (byte) (0xe0 | (i >> 12)) 575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && result[1] == (byte) (0x80 | ((i & 0xfc0) >> 6)) && result[2] == (byte) (0x80 | (i & 0x3f)))); 576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (java.io.UnsupportedEncodingException e) { 577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String bytes = null; 580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bytes = new String(result, "UTF8"); 582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong UTF8 byte length: " + bytes.length() + "(" 583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + i + ")", bytes.length() == 1); 584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue( 585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Wrong char UTF8: " 586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + Integer.toHexString(bytes.charAt(0)) + " (" 587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + i + ")", bytes.charAt(0) == i); 588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (java.io.UnsupportedEncodingException e) { 589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] bytes = new byte[1]; 593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < 256; i++) { 594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bytes[0] = (byte) i; 595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String result = null; 596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result = new String(bytes, "8859_1"); 598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong char length", 1, result.length()); 599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong char value", result.charAt(0) == (char) i); 600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (java.io.UnsupportedEncodingException e) { 601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#getBytes(int, int, byte[], int) 607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getBytes", 612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class, byte[].class, int.class} 613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @SuppressWarnings("deprecation") 615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getBytesII$BI() { 616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.lang.String.getBytes(int, int, byte [], 617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // int) 618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] buf = new byte[5]; 619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello World".getBytes(6, 11, buf, 0); 620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect bytes", "World", new String(buf)); 621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello World".getBytes(-1, 1, null, 0); 624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Expected IndexOutOfBoundsException"); 625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Threw wrong exception"); 629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello World".getBytes(6, 2, null, 0); 633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello World".getBytes(2, 10, new byte[10], 4); 640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 644f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#getBytes(java.lang.String) 648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getBytes", 653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getBytesLjava_lang_String() throws Exception { 656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method byte [] java.lang.String.getBytes(java.lang.String) 657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] buf = "Hello World".getBytes(); 658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect bytes", "Hello World", new String(buf)); 659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "string".getBytes("8849_1"); 662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("No UnsupportedEncodingException"); 663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (UnsupportedEncodingException e) { 664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] bytes = "\u3048".getBytes("UTF-8"); 667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] expected = new byte[] {(byte)0xE3, (byte)0x81, (byte)0x88}; 668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(expected[0], bytes[0]); 669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(expected[1], bytes[1]); 670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(expected[2], bytes[2]); 671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression for HARMONY-663 673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // BEGIN android-changed 675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // (replaced non-ASCII-printable characters with escapes) 676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "string".getBytes( 677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "?Q?D??_??_6ffa?+vG?_??\u00ef\u00bf\u00bd??\u0015"); 678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // END android-changed 679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("No UnsupportedEncodingException"); 680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (UnsupportedEncodingException e) { 681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#getChars(int, int, char[], int) 687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getChars", 692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class, char[].class, int.class} 693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getCharsII$CI() { 695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.lang.String.getChars(int, int, char [], 696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // int) 697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.getChars(5, hw1.length(), rbuf, 0); 698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < rbuf.length; i++) 700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("getChars returned incorrect char(s)", rbuf[i] == buf[i]); 701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello World".getChars(-1, 1, null, 0); 704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Expected IndexOutOfBoundsException"); 705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Threw wrong exception"); 709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello World".getChars(6, 2, null, 0); 713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello World".getChars(2, 10, new char[10], 4); 720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#hashCode() 728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "hashCode", 733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_hashCode() { 736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.hashCode() 737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int hwHashCode = 0; 738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project final int hwLength = hw1.length(); 739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int powerOfThirtyOne = 1; 740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int counter = hwLength - 1; counter >= 0; counter--) { 741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hwHashCode += hw1.charAt(counter) * powerOfThirtyOne; 742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project powerOfThirtyOne *= 31; 743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("String did not hash to correct value--got: " 745f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + String.valueOf(hw1.hashCode()) + " but wanted: " 746f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + String.valueOf(hwHashCode), hw1.hashCode() == hwHashCode); 747f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("The empty string \"\" did not hash to zero", 0 == "" 748f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .hashCode()); 749f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 750f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 751f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 752f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#indexOf(int) 753f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 754f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 755f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 756f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 757f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "indexOf", 758f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 759f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 760f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_indexOfI() { 761f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.indexOf(int) 762f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Invalid index returned", 1, hw1.indexOf('e')); 763f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 764f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Doesn't return -1 if there is no such character.", -1, 765f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.indexOf('q')); 766f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 767f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 768f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 769f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#indexOf(int, int) 770f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 771f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 772f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 773f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 774f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "indexOf", 775f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 776f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 777f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_indexOfII() { 778f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.indexOf(int, int) 779f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Invalid character index returned", 5, hw1.indexOf('W', 2)); 780f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Doesn't return -1 if there is no such character.", -1, 781f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.indexOf('H', 2)); 782f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 783f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 784f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 785f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 786f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#indexOf(java.lang.String) 787f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 788f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 789f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 790f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 791f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "indexOf", 792f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 793f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 794f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_indexOfLjava_lang_String() { 795f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.indexOf(java.lang.String) 796f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to find string", hw1.indexOf("World") > 0); 797f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to find string", !(hw1.indexOf("ZZ") > 0)); 798f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Doesn't return -1 for unknown string.", 799f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project -1, hw1.indexOf("Heo")); 800f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 801f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 802f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 803f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#indexOf(java.lang.String, int) 804f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 805f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 806f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 807f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 808f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "indexOf", 809f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, int.class} 810f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 811f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_indexOfLjava_lang_StringI() { 812f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.indexOf(java.lang.String, int) 813f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to find string", hw1.indexOf("World", 0) > 0); 814f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Found string outside index", !(hw1.indexOf("Hello", 6) > 0)); 815f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Did not accept valid negative starting position", 0, hello1 816f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .indexOf("", -5)); 817f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Reported wrong error code", 5, hello1.indexOf("", 5)); 818f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong for empty in empty", 0, "".indexOf("", 0)); 819f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 820f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 821f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 822f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#intern() 823f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 824f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 825f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 826f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 827f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "intern", 828f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 829f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 830f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_intern() { 831f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.intern() 832f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Intern returned incorrect result", hw1.intern() == hw2 833f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .intern()); 834f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 835f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 836f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 837f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#lastIndexOf(int) 838f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 839f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 840f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 841f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 842f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "lastIndexOf", 843f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 844f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 845f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_lastIndexOfI() { 846f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.lastIndexOf(int) 847f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed to return correct index", 5, hw1.lastIndexOf('W')); 848f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned index for non-existent char", 849f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project -1, hw1.lastIndexOf('Z')); 850f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 851f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 852f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 853f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 854f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#lastIndexOf(int, int) 855f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 856f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 857f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 858f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 859f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "lastIndexOf", 860f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 861f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 862f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_lastIndexOfII() { 863f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.lastIndexOf(int, int) 864f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed to return correct index", 865f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 5, hw1.lastIndexOf('W', 6)); 866f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned index for char out of specified range", -1, hw1 867f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .lastIndexOf('W', 4)); 868f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned index for non-existent char", -1, hw1.lastIndexOf('Z', 869f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 9)); 870f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 871f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 872f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 873f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 874f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#lastIndexOf(java.lang.String) 875f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 876f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 877f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 878f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 879f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "lastIndexOf", 880f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 881f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 882f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_lastIndexOfLjava_lang_String() { 883f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.lastIndexOf(java.lang.String) 884f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect index", 5, hw1.lastIndexOf("World")); 885f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Found String outside of index", -1, hw1 886f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .lastIndexOf("HeKKKKKKKK")); 887f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 888f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 889f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 890f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#lastIndexOf(java.lang.String, int) 891f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 892f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 893f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 894f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 895f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "lastIndexOf", 896f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, int.class} 897f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 898f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_lastIndexOfLjava_lang_StringI() { 899f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.lastIndexOf(java.lang.String, 900f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // int) 901f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect index", 5, hw1.lastIndexOf("World", 9)); 902f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int result = hw1.lastIndexOf("Hello", 2); 903f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Found String outside of index: " + result, result == 0); 904f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Reported wrong error code", 905f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project -1, hello1.lastIndexOf("", -5)); 906f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Did not accept valid large starting position", 5, hello1 907f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .lastIndexOf("", 5)); 908f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 909f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 910f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 911f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#length() 912f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 913f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 914f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 915f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 916f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "length", 917f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 918f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 919f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_length() { 920f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.lang.String.length() 921f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Invalid length returned", 11, comp11.length()); 922f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 923f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 924f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 925f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#regionMatches(int, java.lang.String, int, int) 926f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 927f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 928f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 929f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 930f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "regionMatches", 931f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, java.lang.String.class, int.class, int.class} 932f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 933f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_regionMatchesILjava_lang_StringII() { 934f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean java.lang.String.regionMatches(int, 935f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String, int, int) 936f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String bogusString = "xxcedkedkleiorem lvvwr e''' 3r3r 23r"; 937f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 938f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("identical regions failed comparison", hw1.regionMatches(2, 939f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw2, 2, 5)); 940f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Different regions returned true", !hw1.regionMatches(2, 941f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bogusString, 2, 5)); 942f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for negative offset.", hw1.regionMatches(-1, 943f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw2, 2, 5)); 944f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for negative offset.", hw1.regionMatches(2, 945f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw2, -1, 5)); 946f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for toffset+len is greater than the length.", 947f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.regionMatches(5, hw2, 2, 6)); 948f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for ooffset+len is greater than the length.", 949f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.regionMatches(2, hw2, 5, 6)); 950f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 951f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 952f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 953f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#regionMatches(boolean, int, java.lang.String, 954f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * int, int) 955f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 956f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 957f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 958f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 959f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "regionMatches", 960f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class, int.class, java.lang.String.class, int.class, int.class} 961f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 962f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_regionMatchesZILjava_lang_StringII() { 963f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean java.lang.String.regionMatches(boolean, int, 964f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String, int, int) 965f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 966f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String bogusString = "xxcedkedkleiorem lvvwr e''' 3r3r 23r"; 967f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 968f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("identical regions failed comparison", hw1.regionMatches( 969f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project false, 2, hw2, 2, 5)); 970f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("identical regions failed comparison with different cases", 971f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.regionMatches(true, 2, hw2, 2, 5)); 972f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Different regions returned true", !hw1.regionMatches(true, 973f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 2, bogusString, 2, 5)); 974f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("identical regions failed comparison with different cases", 975f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.regionMatches(false, 2, hw2, 2, 5)); 976f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 977f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for negative offset.", hw1.regionMatches(true, 978f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project -1, hw2, 2, 5)); 979f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for negative offset.", hw1.regionMatches(false, 980f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 2, hw2, -1, 5)); 981f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for toffset+len is greater than the length.", 982f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.regionMatches(true, 5, hw2, 2, 6)); 983f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Returned true for ooffset+len is greater than the length.", 984f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.regionMatches(false, 2, hw2, 5, 6)); 985f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 986f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("identical regions failed comparison", hwuc.regionMatches( 987f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project true, 0, hwlc, 0, hwuc.length())); 988f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("non identical regions failed comparison", hwuc.regionMatches( 989f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project false, 0, hwlc, 0, hwuc.length())); 990f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 991f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 992f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 993f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#replace(char, char) 994f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 995f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 996f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 997f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 998f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "replace", 999f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char.class, char.class} 1000f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1001f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_replaceCC() { 1002f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.replace(char, char) 1003f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed replace", "HezzoWorzd", hw1.replace('l', 'z')); 1004f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect string.", hw1, hw1.replace("!", ".")); 1005f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1006f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1007f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1008f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1009f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1010f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "replaceAll", 1011f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, java.lang.String.class} 1012f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1013f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_replaceAll() { 1014f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String str = "!'123123.123HelloWorld!123123helloworld#"; 1015f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String [] patterns = {"[hw\\p{Upper}]", "(o|l){2,}", "([\'\"]?)(\\d+)", 1016f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "^!.*#$"}; 1017f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1018f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String [] results = {"!\'123123.123?ello?orld!123123?ello?orld#", 1019f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "!\'123123.123He?World!123123he?world#", 1020f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "!?.?HelloWorld!?helloworld#", "?"}; 1021f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1022f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for(int i = 0; i < patterns.length; i++) { 1023f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect string", 1024f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project results[i], str.replaceAll(patterns[i], "?")); 1025f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1026f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1027f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1028f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project str.replaceAll("[abc*", "?"); 1029f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("PatternSyntaxException is not thrown."); 1030f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(PatternSyntaxException pse) { 1031f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1032f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1033f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1034f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1035f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1036f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1037f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1038f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "replaceFirst", 1039f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, java.lang.String.class} 1040f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1041f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_replaceFirst() { 1042f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String str = "!'123123.123HelloWorld!123123helloworld#"; 1043f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String [] patterns = {"[hw\\p{Upper}]", "(o|l){2,}", "([\'\"]?)(\\d+)", 1044f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "^!.*#$"}; 1045f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1046f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String [] results = {"!'123123.123?elloWorld!123123helloworld#", 1047f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "!'123123.123He?World!123123helloworld#", 1048f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "!?.123HelloWorld!123123helloworld#", "?"}; 1049f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1050f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for(int i = 0; i < patterns.length; i++) { 1051f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect string", 1052f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project results[i], str.replaceFirst(patterns[i], "?")); 1053f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1054f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1055f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1056f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project str.replaceFirst("[abc*", "?"); 1057f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("PatternSyntaxException is not thrown."); 1058f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(PatternSyntaxException pse) { 1059f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1060f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1061f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1062f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1063f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1064f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1065f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1066f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "split", 1067f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 1068f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1069f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_splitLString() { 1070f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String str = "!'123123.123HelloWorld!123123helloworld#"; 1071f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String [] patterns = {"[!.1]", "(\\d+).*e(l+)o.*orld"}; 1072f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String [][] results = {{"", "'","23", "23", "", "23HelloWorld", "", "23", 1073f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "23helloworld#"}, 1074f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project {"!'", "#"}}; 1075f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1076f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for(int i = 0; i < patterns.length; i++) { 1077f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect string array for pattern: " + 1078f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project patterns[i], Arrays.equals(results[i], str.split(patterns[i]))); 1079f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1080f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1081f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1082f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project str.split("[a}"); 1083f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("PatternSyntaxException is not thrown."); 1084f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(PatternSyntaxException pse) { 1085f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1086f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1087f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1088f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1089f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1090f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1091f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1092f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "split", 1093f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, int.class} 1094f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1095f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_splitLStringLint() { 1096f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String str = "!'123123.123HelloWorld!123123helloworld#"; 1097f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String pattern = "[!.1]"; 1098f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String [][] results = {{"", "'","23", "23.123HelloWorld!123123helloworld#"}, 1099f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project {"", "'","23", "23", "", "23HelloWorld", "", "23", 1100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "23helloworld#"}}; 1101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect string array for limit 4", 1103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Arrays.equals(results[0], str.split(pattern, 4))); 1104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect string array for limit 9", 1105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Arrays.equals(results[1], str.split(pattern, 9))); 1106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect string array for limit 0", 1107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Arrays.equals(results[1], str.split(pattern, 0))); 1108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect string array for limit -1", 1109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Arrays.equals(results[1], str.split(pattern, -1))); 1110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect string array for limit 10", 1111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Arrays.equals(results[1], str.split(pattern, 10))); 1112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect string array for limit Integer.MAX_VALUE", 1113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Arrays.equals(results[1], str.split(pattern, Integer.MAX_VALUE))); 1114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project str.split("[a}", 0); 1117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("PatternSyntaxException is not thrown."); 1118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(PatternSyntaxException pse) { 1119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#replace(CharSequence, CharSequence) 1127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "replace", 1132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.CharSequence.class, java.lang.CharSequence.class} 1133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_replaceLjava_langCharSequenceLjava_langCharSequence() { 1135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed replace", "aaccdd", "aabbdd".replace( 1136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new StringBuffer("bb"), "cc")); 1137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed replace by bigger seq", "cccbccc", "aba".replace( 1138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "a", "ccc")); 1139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Failed replace by smaller seq", "$bba^", 1140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "$aaaaa^".replace(new StringBuilder("aa"), "b")); 1141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "".replace((CharSequence) null, "123".subSequence(0, 1)); 1144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("NullPointerException is not thrown."); 1145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(NullPointerException npe) { 1146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "".replace("123".subSequence(0, 1), (CharSequence) null); 1151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("NullPointerException is not thrown."); 1152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(NullPointerException npe) { 1153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#startsWith(java.lang.String) 1159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "startsWith", 1164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 1165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_startsWithLjava_lang_String() { 1167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean java.lang.String.startsWith(java.lang.String) 1168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to find string", hw1.startsWith("Hello")); 1169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Found incorrect string", !hw1.startsWith("T")); 1170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#startsWith(java.lang.String, int) 1174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "startsWith", 1179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, int.class} 1180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_startsWithLjava_lang_StringI() { 1182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean java.lang.String.startsWith(java.lang.String, 1183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // int) 1184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to find string", hw1.startsWith("World", 5)); 1185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Found incorrect string", !hw1.startsWith("Hello", 5)); 1186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#substring(int) 1190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "substring", 1195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 1196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_substringI() { 1198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.substring(int) 1199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect substring returned", 1200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "World", hw1.substring(5)); 1201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("not identical", hw1.substring(0) == hw1); 1202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.substring(-1); 1205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.substring(hw1.length() + 1); 1212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.substring(Integer.MAX_VALUE); 1219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#substring(int, int) 1227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "substring", 1232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 1233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_substringII() { 1235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.substring(int, int) 1236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect substring returned", hw1.substring(0, 5).equals( 1237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello") 1238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && (hw1.substring(5, 10).equals("World"))); 1239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("not identical", hw1.substring(0, hw1.length()) == hw1); 1240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.substring(-1, hw1.length()); 1243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.substring(Integer.MAX_VALUE, hw1.length()); 1250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.substring(0, Integer.MAX_VALUE); 1257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "subSequence", 1268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 1269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_subSequence() { 1271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.substring(int, int) 1272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect substring returned", hw1.subSequence(0, 5).equals( 1273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Hello") && (hw1.subSequence(5, 10).equals("World"))); 1274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("not identical", hw1.subSequence(0, hw1.length()) == hw1); 1275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.subSequence(0, Integer.MAX_VALUE); 1278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.subSequence(Integer.MAX_VALUE, hw1.length()); 1285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1.subSequence(-1, hw1.length()); 1292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#toCharArray() 1300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toCharArray", 1305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 1306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_toCharArray() { 1308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method char [] java.lang.String.toCharArray() 1309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s = new String(buf, 0, buf.length); 1311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] schars = s.toCharArray(); 1312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < s.length(); i++) 1313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect char aray", buf[i] == schars[i]); 1314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#toLowerCase() 1318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toLowerCase", 1323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 1324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_toLowerCase() { 1326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.toLowerCase() 1327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("toLowerCase case conversion did not succeed", hwuc 1328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .toLowerCase().equals(hwlc)); 1329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("a) Sigma has same lower case value at end of word with Unicode 3.0", 1331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "\u03c3", "\u03a3".toLowerCase()); 1332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("b) Sigma has same lower case value at end of word with Unicode 3.0", 1333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "a \u03c3", "a \u03a3".toLowerCase()); 1334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#toLowerCase(java.util.Locale) 1338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toLowerCase", 1343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.Locale.class} 1344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_toLowerCaseLjava_util_Locale() { 1346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String 1347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String.toLowerCase(java.util.Locale) 1348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("toLowerCase case conversion did not succeed", hwuc 1349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .toLowerCase(java.util.Locale.getDefault()).equals(hwlc)); 1350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Invalid \\u0049 for English", "\u0069", "\u0049".toLowerCase( 1351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Locale.ENGLISH)); 1352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Invalid \\u0049 for Turkish", "\u0131", "\u0049".toLowerCase( 1353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new Locale("tr", ""))); 1354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#toString() 1358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toString", 1363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 1364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_toString() { 1366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.toString() 1367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect string returned", hw1.toString().equals(hw1)); 1368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#toUpperCase() 1372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toUpperCase", 1377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 1378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_toUpperCase() { 1380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.toUpperCase() 1381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned string is not UpperCase", hwlc.toUpperCase() 1382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(hwuc)); 1383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong conversion", "SS", "\u00df".toUpperCase()); 1385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String s = "a\u00df\u1f56"; 1387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Invalid conversion", !s.toUpperCase().equals(s)); 1388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#toUpperCase(java.util.Locale) 1393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toUpperCase", 1398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.Locale.class} 1399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_toUpperCaseLjava_util_Locale() { 1401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String 1402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String.toUpperCase(java.util.Locale) 1403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned string is not UpperCase", hwlc.toUpperCase() 1404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(hwuc)); 1405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Invalid \\u0069 for English", "\u0049", "\u0069".toUpperCase( 1406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Locale.ENGLISH)); 1407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Invalid \\u0069 for Turkish", "\u0130", "\u0069".toUpperCase( 1408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new Locale("tr", ""))); 1409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#trim() 1413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "trim", 1418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 1419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_trim() { 1421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.trim() 1422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect string returned", " HelloWorld ".trim().equals( 1423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hw1)); 1424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect string returned", hw1, " HelloWorld ".trim()); 1425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect string returned", " ".trim().equals("")); 1426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(char[]) 1430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char[].class} 1436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOf$C() { 1438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.valueOf(char []) 1439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect String", 1440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "World", String.valueOf(buf)); 1441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect String", 1442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "", String.valueOf(new char[]{})); 1443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.valueOf(null); 1445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("NullPointerException was not thrown."); 1446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(NullPointerException npe) { 1447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(char[], int, int) 1453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char[].class, int.class, int.class} 1459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOf$CII() { 1461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.valueOf(char [], 1462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // int, int) 1463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] t = { 'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd' }; 1464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("copyValueOf returned incorrect String", "World", String.valueOf(t, 1465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 5, 5)); 1466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.valueOf(t, 0, t.length + 1); 1469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.valueOf(t, 0, -1); 1476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.valueOf(t, 0, Integer.MAX_VALUE); 1483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException was not thrown."); 1484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IndexOutOfBoundsException ioobe) { 1485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(char) 1491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char.class} 1497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOfC() { 1499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.valueOf(char) 1500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < 65536; i++) 1501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect valueOf(char) returned: " + i, String 1502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .valueOf((char) i).charAt(0) == (char) i); 1503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(double) 1507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {double.class} 1513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOfD() { 1515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.valueOf(double) 1516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect double string returned", "1.7976931348623157E308", String.valueOf( 1517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Double.MAX_VALUE)); 1518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(float) 1522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {float.class} 1528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOfF() { 1530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.valueOf(float) 1531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("incorrect float string returned--got: " 1532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + String.valueOf(1.0F) + " wanted: 1.0", String.valueOf(1.0F) 1533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals("1.0")); 1534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("incorrect float string returned--got: " 1535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + String.valueOf(0.9F) + " wanted: 0.9", String.valueOf(0.9F) 1536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals("0.9")); 1537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("incorrect float string returned--got: " 1538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + String.valueOf(109.567F) + " wanted: 109.567", String 1539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .valueOf(109.567F).equals("109.567")); 1540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(int) 1544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 1550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOfI() { 1552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.valueOf(int) 1553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("returned invalid int string", "1", String.valueOf(1)); 1554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(long) 1558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {long.class} 1564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOfJ() { 1566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.valueOf(long) 1567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("returned incorrect long string", "927654321098", String.valueOf( 1568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 927654321098L)); 1569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(java.lang.Object) 1573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.Object.class} 1579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOfLjava_lang_Object() { 1581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String 1582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.lang.String.valueOf(java.lang.Object) 1583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect Object string returned", obj.toString().equals( 1584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.valueOf(obj))); 1585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect value was returned for null.", 1586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "null", String.valueOf((Object) null)); 1587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#valueOf(boolean) 1591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "valueOf", 1596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 1597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_valueOfZ() { 1599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.valueOf(boolean) 1600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect boolean string returned", String.valueOf(false) 1601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals("false") 1602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && (String.valueOf(true).equals("true"))); 1603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#contentEquals(CharSequence cs) 1607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 1610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "NullPointerException is not verified.", 1611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "contentEquals", 1612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.CharSequence.class} 1613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_contentEqualsLjava_lang_CharSequence() { 1615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.lang.String java.lang.String.contentEquals(CharSequence cs) 1616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Incorrect result of compare", "qwerty".contentEquals("")); 1617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#format(Locale, String, Object[]) 1621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "format", 1626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, java.lang.Object[].class} 1627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @SuppressWarnings("boxing") 1629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_format() { 1630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("13% of sum is 0x11", 1631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.format("%d%% of %s is 0x%x", 13, "sum", 17)); 1632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("3 2 1 4 3 2 1", String.format( 1634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "%3$d %2$d %1$d %4$d %3$d %2$d %1$d", 1, 2, 3, 4)); 1635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("empty format", "", String.format("", 123, this)); 1637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.format(null); 1639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("NPE is expected on null format"); 1640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException ok){} 1641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.format("%d%% of %s is 0x%x", "123"); 1644f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException was not thrown."); 1645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IllegalFormatException ife) { 1646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.format("%tu", "123"); 1651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException was not thrown."); 1652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IllegalFormatException ife) { 1653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.lang.String#format(Locale, String, Object...) 1660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "format", 1665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.Locale.class, java.lang.String.class, java.lang.Object[].class} 1666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @SuppressWarnings("boxing") 1668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_format_Locale() { 1669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Locale l = new Locale("UK"); 1670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("13% of sum is 0x11", 1671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.format(l, "%d%% of %s is 0x%x", 13, "sum", 17)); 1672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("empty format", "", String.format("", 123, this)); 1673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.format(l, null, ""); 1675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("NPE is expected on null format"); 1676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException ok){} 1677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String.format(l, "%d", "test"); 1680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException wasn't thrown."); 1681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(IllegalFormatException ife) { 1682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 1683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "matches", 1690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 1691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_matches() { 1693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[] patterns = { 1694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(a|b)*abb", 1695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(1*2*3*4*)*567", 1696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(a|b|c|d)*aab", 1697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(1|2|3|4|5|6|7|8|9|0)(1|2|3|4|5|6|7|8|9|0)*", 1698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)*", 1699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(a|b)*(a|b)*A(a|b)*lice.*", 1700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)(a|b|c|d|e|f|g|h|" 1701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + "i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)*(1|2|3|4|5|6|7|8|9|0)*|while|for|struct|if|do", 1702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }; 1704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[] patternsInc = { 1706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(ac)*bb", 1707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(1)*567", 1708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(c)*ab", 1709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(|8|9|0)(1|2|7|8|9|0)*", 1710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(z)", 1711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(a)*A(b)*lice.", 1712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "(a|b|c|d|e)", 1713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }; 1715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[][] strings = { 1717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { "abb", "ababb", "abababbababb", "abababbababbabababbbbbabb" }, 1718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { "213567", "12324567", "1234567", "213213567", 1719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "21312312312567", "444444567" }, 1720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { "abcdaab", "aab", "abaab", "cdaab", "acbdadcbaab" }, 1721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { "213234567", "3458", "0987654", "7689546432", "0398576", 1722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "98432", "5" }, 1723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 1724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 1725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 1726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" }, 1727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { "ababbaAabababblice", "ababbaAliceababab", "ababbAabliceaaa", 1728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "abbbAbbbliceaaa", "Alice" }, 1729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { "a123", "bnxnvgds156", "for", "while", "if", "struct" }, 1730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { "xy" }, { "xy" }, { "xcy" } 1731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }; 1733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < patterns.length; i++) { 1735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int j = 0; j < strings[i].length; j++) { 1736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect match: " + patterns[i] + " vs " 1737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + strings[i][j], strings[i][j].matches(patterns[i])); 1738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("" + i, strings[i][j].matches(patternsInc[i])); 1739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 1744