15d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao/* 25d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * Copyright (C) 2007 The Android Open Source Project 35d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * 45d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * Licensed under the Apache License, Version 2.0 (the "License"); 55d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * you may not use this file except in compliance with the License. 65d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * You may obtain a copy of the License at 75d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * 85d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * http://www.apache.org/licenses/LICENSE-2.0 95d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * 105d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * Unless required by applicable law or agreed to in writing, software 115d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * distributed under the License is distributed on an "AS IS" BASIS, 125d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * See the License for the specific language governing permissions and 145d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * limitations under the License. 155d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao */ 165d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 175d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao/** 185d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * Simple string test. 195d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao */ 205d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaopublic class Main { 215d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao public static void main(String args[]) { 225d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basicTest(); 235d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao indexTest(); 245d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 255d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 265d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao public static void basicTest() { 275d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao String baseStr = "*** This is a very nice string!!!"; 285d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao String testStr; 295d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao int i; 305d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 315d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao testStr = baseStr.substring(4, baseStr.length() - 3); 325d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("testStr is '" + testStr + "'"); 335d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 345d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao /* sloppy for loop */ 355d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (i = 0; i < testStr.length(); i++) 365d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.print(testStr.charAt(i)); 375d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.print("\n"); 385d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 395d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao String testStr2 = "This is a very nice strinG"; 405d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao if (testStr.length() != testStr2.length()) 415d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("WARNING: stringTest length mismatch"); 425d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 435d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("Compare result is " + testStr.compareTo(testStr2)); 445d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 455d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao // expected: -65302 465d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao String s1 = "\u0c6d\u0cb6\u0d00\u0000\u0080\u0080\u0080\u0000\u0002\u0002\u0002\u0000\u00e9\u00e9\u00e9"; 475d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao String s2 = "\u0c6d\u0cb6\u0d00\u0000\u0080\u0080\u0080\u0000\u0002\u0002\u0002\u0000\uffff\uffff\uffff\u00e9\u00e9\u00e9"; 485d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("Compare unicode: " + s1.compareTo(s2)); 495d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 505d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao try { 515d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao testStr.charAt(500); 525d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("GLITCH: expected exception"); 535d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } catch (StringIndexOutOfBoundsException sioobe) { 545d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("Got expected exception"); 555d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 565d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 575d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 585d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao public static void indexTest() { 595d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao String baseStr = "The quick brown fox jumps over the lazy dog!"; 605d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao String subStr; 615d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 625d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr = baseStr.substring(5, baseStr.length() - 4); 635d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("subStr is '" + subStr + "'"); 645d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 655d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("Indexes are: " + 665d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao baseStr.indexOf('T') + ":" + 675d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('T') + ":" + 685d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('u') + ":" + 695d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao baseStr.indexOf('!') + ":" + 705d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('y') + ":" + 715d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('d') + ":" + 725d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao baseStr.indexOf('x') + ":" + 735d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('x', 0) + ":" + 745d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('x', -1) + ":" + 755d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('x', 200) + ":" + 765d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao baseStr.indexOf('x', 17) + ":" + 775d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao baseStr.indexOf('x', 18) + ":" + 785d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao baseStr.indexOf('x', 19) + ":" + 795d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('x', 13) + ":" + 805d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('x', 14) + ":" + 815d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao subStr.indexOf('&') + ":" + 825d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao baseStr.indexOf(0x12341234)); 835d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 845d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao} 85