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 tests.api.java.io; 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.ByteArrayInputStream; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.CharArrayReader; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.IOException; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.PipedInputStream; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.PipedOutputStream; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.Reader; 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.StreamTokenizer; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.StringBufferInputStream; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.StringReader; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport junit.framework.Assert; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport tests.support.Support_StringReader; 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport tests.support.Support_ASimpleInputStream; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets; 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// TODO: most of the assertTrue calls in this test case should be 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// replaced with assertEquals (possibly two assertEquals) see 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// test_ConstructorLjava_io_InputStream for example. 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// This gives much more helpful error messages. 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(StreamTokenizer.class) 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class StreamTokenizerTest extends junit.framework.TestCase { 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Support_StringReader r; 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer st; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String testString; 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#StreamTokenizer(java.io.InputStream) 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "StreamTokenizer", 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.InputStream.class} 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_io_InputStream() throws IOException { 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st = new StreamTokenizer(new StringBufferInputStream( 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "/comments\n d 8 'h'")); 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the letter d", 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer.TT_WORD, st.nextToken()); 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the letter d", 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "d", st.sval); 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the digit 8", 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer.TT_NUMBER, st.nextToken()); 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the digit 8", 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 8.0, st.nval); 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the quote character", 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 39, st.nextToken()); 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the quote character", 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "h", st.sval); 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#StreamTokenizer(java.io.Reader) 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "StreamTokenizer", 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.Reader.class} 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_io_Reader() throws IOException { 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("/testing\n d 8 'h' "); 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the letter d skipping the comments", 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer.TT_WORD, st.nextToken()); 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the letter d", 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "d", st.sval); 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the digit 8", 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer.TT_NUMBER, st.nextToken()); 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the digit 8", 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 8.0, st.nval); 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the quote character", 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 39, st.nextToken()); 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next token returned should be the quote character", 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "h", st.sval); 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#commentChar(int) 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "commentChar", 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_commentCharI() throws IOException { 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("*comment \n / 8 'h' "); 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChar('/'); 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.commentChar('*'); 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("nextToken() did not return the character / skiping the comments starting with *", 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 47, st.nextToken()); 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("the next token returned should be the digit 8", st 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .nextToken() == StreamTokenizer.TT_NUMBER 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && st.nval == 8.0); 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("the next token returned should be the quote character", 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == 39 && st.sval.equals("h")); 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#eolIsSignificant(boolean) 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 = "eolIsSignificant", 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_eolIsSignificantZ() throws IOException { 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("d 8\n"); 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // by default end of line characters are not significant 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("nextToken did not return d", 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_WORD 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && st.sval.equals("d")); 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("nextToken did not return 8", 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_NUMBER 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && st.nval == 8.0); 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("nextToken should be the end of file", 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_EOF); 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("d\n"); 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.eolIsSignificant(true); 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // end of line characters are significant 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("nextToken did not return d", 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_WORD 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && st.sval.equals("d")); 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("nextToken is the end of line", 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_EOL); 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#lineno() 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "lineno", 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_lineno() throws IOException { 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("d\n 8\n"); 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the lineno should be 1", 1, st.lineno()); 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the lineno should be 2", 2, st.lineno()); 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("the next line no should be 3", 3, st.lineno()); 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#lowerCaseMode(boolean) 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "lowerCaseMode", 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_lowerCaseModeZ() throws Exception { 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // SM. 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("HELLOWORLD"); 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.lowerCaseMode(true); 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("sval not converted to lowercase.", "helloworld", st.sval 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#nextToken() 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "nextToken", 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_nextToken() throws IOException { 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("\r\n/* fje fje 43.4 f \r\n f g */ 456.459 \r\n" 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + "Hello / \r\n \r\n \n \r \257 Hi \'Hello World\'"); 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChar('/'); 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.slashStarComments(true); 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong Token type1: " + (char) st.ttype, 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ttype == StreamTokenizer.TT_NUMBER); 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong Token type2: " + st.ttype, 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ttype == StreamTokenizer.TT_WORD); 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong Token type3: " + st.ttype, st.ttype == '/'); 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong Token type4: " + st.ttype, 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ttype == StreamTokenizer.TT_WORD); 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong Token type5: " + st.ttype, 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ttype == StreamTokenizer.TT_WORD); 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong Token type6: " + st.ttype, st.ttype == '\''); 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong Token type7: " + st.ttype, st.sval 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals("Hello World")); 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong Token type8: " + st.ttype, st.ttype == -1); 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project final PipedInputStream pin = new PipedInputStream(); 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PipedOutputStream pout = new PipedOutputStream(pin); 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project pout.write("hello\n\r\r".getBytes()); 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st = new StreamTokenizer(pin); 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.eolIsSignificant(true); 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong token 1,1", 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_WORD 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && st.sval.equals("hello")); 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong token 1,2", st.nextToken() == '\n'); 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong token 1,3", st.nextToken() == '\n'); 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong token 1,4", st.nextToken() == '\n'); 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project pout.close(); 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong token 1,5", 243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_EOF); 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st = new StreamTokenizer(new Support_StringReader("\n \r\n#")); 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChar('\n'); // make \n ordinary 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.eolIsSignificant(true); 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong token 2,1", st.nextToken() == '\n'); 249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong token 2,2", st.nextToken() == '\n'); 250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong token 2,3", '#', st.nextToken()); 251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Support_ASimpleInputStream sis = new Support_ASimpleInputStream(); 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project sis.throwExceptionOnNextUse = true; 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st = new StreamTokenizer(sis); 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IOException expected."); 258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected. 260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#ordinaryChar(int) 265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "ordinaryChar", 270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ordinaryCharI() throws IOException { 273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // SM. 274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("Ffjein 893"); 275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChar('F'); 276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("OrdinaryChar failed." + (char) st.ttype, 278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ttype == 'F'); 279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#ordinaryChars(int, int) 283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "ordinaryChars", 288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ordinaryCharsII() throws IOException { 291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // SM. 292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("azbc iof z 893"); 293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChars('a', 'z'); 294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("OrdinaryChars failed.", 'a', st.nextToken()); 295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("OrdinaryChars failed.", 'z', st.nextToken()); 296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#parseNumbers() 300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "parseNumbers", 305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_parseNumbers() throws IOException { 308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // SM 309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("9.9 678"); 310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Base behavior failed.", 311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_NUMBER); 312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChars('0', '9'); 313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("setOrdinary failed.", '6', st.nextToken()); 314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.parseNumbers(); 315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("parseNumbers failed.", 316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_NUMBER); 317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#pushBack() 321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "pushBack", 326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_pushBack() throws IOException { 329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // SM. 330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("Hello 897"); 331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.pushBack(); 333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("PushBack failed.", 334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_WORD); 335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#quoteChar(int) 339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "quoteChar", 344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_quoteCharI() throws IOException { 347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // SM 348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("<Hello World< HelloWorldH"); 349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.quoteChar('<'); 350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("QuoteChar failed.", '<', st.nextToken()); 351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("QuoteChar failed.", "Hello World", st.sval); 352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.quoteChar('H'); 353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("QuoteChar failed for word.", "elloWorld", st.sval 355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#resetSyntax() 360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "resetSyntax", 365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_resetSyntax() throws IOException { 368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // SM 369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("H 9\' ello World"); 370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.resetSyntax(); 371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("resetSyntax failed1." + (char) st.ttype, 372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == 'H'); 373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("resetSyntax failed1." + (char) st.ttype, 374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == ' '); 375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("resetSyntax failed2." + (char) st.ttype, 376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == '9'); 377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("resetSyntax failed3." + (char) st.ttype, 378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == '\''); 379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#slashSlashComments(boolean) 383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "slashSlashComments", 388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_slashSlashCommentsZ() throws IOException { 391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // SM. 392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("// foo \r\n /fiji \r\n -456"); 393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChar('/'); 394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.slashSlashComments(true); 395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Test failed.", '/', st.nextToken()); 396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test failed.", 397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_WORD); 398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#slashSlashComments(boolean) 402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "slashSlashComments", 407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_slashSlashComments_withSSOpen() throws IOException { 410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Reader reader = new CharArrayReader( "t // t t t".toCharArray()); 411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer st = new StreamTokenizer(reader); 413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.slashSlashComments(true); 414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_WORD,st.nextToken()); 416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_EOF,st.nextToken()); 417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#slashSlashComments(boolean) 421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "slashSlashComments", 426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_slashSlashComments_withSSOpen_NoComment() throws IOException { 429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Reader reader = new CharArrayReader( "// t".toCharArray()); 430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer st = new StreamTokenizer(reader); 432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.slashSlashComments(true); 433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChar('/'); 434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_EOF,st.nextToken()); 436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#slashSlashComments(boolean) 440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "slashSlashComments", 445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_slashSlashComments_withSSClosed() throws IOException { 448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Reader reader = new CharArrayReader( "// t".toCharArray()); 449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer st = new StreamTokenizer(reader); 451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.slashSlashComments(false); 452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChar('/'); 453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals('/',st.nextToken()); 455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals('/',st.nextToken()); 456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_WORD,st.nextToken()); 457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#slashStarComments(boolean) 461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "slashStarComments", 466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_slashStarCommentsZ() throws IOException { 469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("/* foo \r\n /fiji \r\n*/ -456"); 470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.ordinaryChar('/'); 471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.slashStarComments(true); 472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test failed.", 473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_NUMBER); 474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#slashStarComments(boolean) 478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "slashStarComments", 483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_slashStarComments_withSTOpen() throws IOException { 486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Reader reader = new CharArrayReader( "t /* t */ t".toCharArray()); 487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer st = new StreamTokenizer(reader); 489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.slashStarComments(true); 490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_WORD,st.nextToken()); 492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_WORD,st.nextToken()); 493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_EOF,st.nextToken()); 494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#slashStarComments(boolean) 498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "slashStarComments", 503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_slashStarComments_withSTClosed() throws IOException { 506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Reader reader = new CharArrayReader( "t /* t */ t".toCharArray()); 507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer st = new StreamTokenizer(reader); 509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.slashStarComments(false); 510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_WORD,st.nextToken()); 512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(StreamTokenizer.TT_EOF,st.nextToken()); 513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#toString() 517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toString", 522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_toString() throws IOException { 525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("ABC Hello World"); 526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("toString failed." + st.toString(), 528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.toString().equals( 529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "Token[ABC], line 1")); 530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#whitespaceChars(int, int) 534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "whitespaceChars", 539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_whitespaceCharsII() throws IOException { 542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("azbc iof z 893"); 543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.whitespaceChars('a', 'z'); 544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("OrdinaryChar failed.", 545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_NUMBER); 546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.StreamTokenizer#wordChars(int, int) 550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "wordChars", 555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_wordCharsII() throws IOException { 558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest("A893 -9B87"); 559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.wordChars('0', '9'); 560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("WordChar failed1.", 561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_WORD); 562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("WordChar failed2.", "A893", st.sval); 563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("WordChar failed3.", 564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken() == StreamTokenizer.TT_NUMBER); 565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("WordChar failed4.", "B87", st.sval); 567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest(" Hello World"); 569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.wordChars(' ', ' '); 570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("WordChars failed for whitespace.", "Hello World", st.sval 572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project setTest(" Hello World\r\n \'Hello World\' Hello\' World"); 575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.wordChars(' ', ' '); 576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.wordChars('\'', '\''); 577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("WordChars failed for whitespace: " + st.sval, st.sval 579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals("Hello World")); 580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st.nextToken(); 581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("WordChars failed for quote1: " + st.sval, st.sval 582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals("\'Hello World\' Hello\' World")); 583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private void setTest(String s) { 586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testString = s; 587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project r = new Support_StringReader(testString); 588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project st = new StreamTokenizer(r); 589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() { 592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() { 595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "General functionality of these methods tested in separate tests.", 601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "lineno", 602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "General functionality of these methods tested in separate tests.", 607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "nextToken", 608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "General functionality of these methods tested in separate tests.", 613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toString", 614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "General functionality of these methods tested in separate tests.", 619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "commentChar", 620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "General functionality of these methods tested in separate tests.", 625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "eolIsSignificant", 626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "General functionality of these methods tested in separate tests.", 631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "lowerCaseMode", 632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "General functionality of these methods tested in separate tests.", 637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "ordinaryChar", 638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "General functionality of these methods tested in separate tests.", 643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "slashStarComments", 644f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_basicStringTokenizerMethods() 648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String str = "Testing 12345 \n alpha \r\n omega"; 650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String strb = "-3.8 'BLIND mice' \r sEe /* how */ they run"; 651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StringReader aa = new StringReader(str); 652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StringReader ba = new StringReader(strb); 653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer a = new StreamTokenizer(aa); 654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer b = new StreamTokenizer(ba); 655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.lineno() == 1); 658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.nextToken() == StreamTokenizer.TT_WORD); 659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.toString().equals("Token[Testing], line 1")); 660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.nextToken() == StreamTokenizer.TT_NUMBER); 661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.toString().equals("Token[n=12345.0], line 1")); 662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.nextToken() == StreamTokenizer.TT_WORD); 663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.toString().equals("Token[alpha], line 2")); 664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.nextToken() == StreamTokenizer.TT_WORD); 665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.toString().equals("Token[omega], line 3")); 666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.nextToken() == StreamTokenizer.TT_EOF); 667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(a.toString().equals("Token[EOF], line 3")); 668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project b.commentChar('u'); 670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project b.eolIsSignificant(true); 671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project b.lowerCaseMode(true); 672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project b.ordinaryChar('y'); 673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project b.slashStarComments(true); 674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nextToken() == StreamTokenizer.TT_NUMBER); 676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nval == -3.8); 677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.toString().equals("Token[n=-3.8], line 1")); 678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nextToken() == 39); // ' 679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.toString().equals("Token[BLIND mice], line 1")); 680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nextToken() == 10); // \n 681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.toString().equals("Token[EOL], line 2")); 682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nextToken() == StreamTokenizer.TT_WORD); 683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.toString().equals("Token[see], line 2")); 684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nextToken() == StreamTokenizer.TT_WORD); 685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.toString().equals("Token[the], line 2")); 686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nextToken() == 121); // y 687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.toString().equals("Token['y'], line 2")); 688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nextToken() == StreamTokenizer.TT_WORD); 689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.toString().equals("Token[r], line 2")); 690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.nextToken() == StreamTokenizer.TT_EOF); 691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertTrue(b.toString().equals("Token[EOF], line 2")); 692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project catch (Exception ex){ 694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project System.out.println("Exception found in StreamTokenizer"); 695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ex.printStackTrace(); 696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("error in test, see stdout"); 697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "nextToken", 705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toString", 711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_harmonyRegressionTest() { 715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] data = new byte[] {(byte) '-'}; 716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer tokenizer = new StreamTokenizer(new ByteArrayInputStream(data)); 717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tokenizer.nextToken(); 719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch(Exception e) { 720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.fail(e.getMessage()); 721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String result = tokenizer.toString(); 723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertEquals("Token['-'], line 1", result); 724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "nextToken", 731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "toString", 737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_harmonyRegressionTest2() { 741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] data = new byte[] {(byte) '"', 742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (byte) 'H', 743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (byte) 'e', 744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (byte) 'l', 745f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (byte) 'l', 746f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (byte) 'o', 747f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (byte) '"'}; 748f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StreamTokenizer tokenizer = new StreamTokenizer(new ByteArrayInputStream(data)); 749f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 750f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tokenizer.nextToken(); 751f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 752f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project e.printStackTrace(); 753f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 754f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String result = tokenizer.toString(); 755f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Assert.assertEquals("Token[Hello], line 1", result); 756f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 757f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 758