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.ByteArrayOutputStream; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.DataInputStream; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.File; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.FileNotFoundException; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.IOException; 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.OutputStream; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.PrintStream; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.UnsupportedEncodingException; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.IllegalFormatException; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Locale; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 368ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabotimport tests.support.Support_Locale; 378ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(PrintStream.class) 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class PrintStreamTest extends junit.framework.TestCase { 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayOutputStream baos = new ByteArrayOutputStream(); 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] ibuf = new byte[4096]; 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private File testFile = null; 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private String testFilePath = null; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public String fileString = "Test_All_Tests\nTest_java_io_BufferedInputStream\nTest_java_io_BufferedOutputStream\nTest_java_io_ByteArrayInputStream\nTest_java_io_ByteArrayOutputStream\nTest_java_io_DataInputStream\nTest_java_io_File\nTest_java_io_FileDescriptor\nTest_java_io_FileInputStream\nTest_java_io_FileNotFoundException\nTest_java_io_FileOutputStream\nTest_java_io_FilterInputStream\nTest_java_io_FilterOutputStream\nTest_java_io_InputStream\nTest_java_io_IOException\nTest_java_io_OutputStream\nTest_PrintStream\nTest_java_io_RandomAccessFile\nTest_java_io_SyncFailedException\nTest_java_lang_AbstractMethodError\nTest_java_lang_ArithmeticException\nTest_java_lang_ArrayIndexOutOfBoundsException\nTest_java_lang_ArrayStoreException\nTest_java_lang_Boolean\nTest_java_lang_Byte\nTest_java_lang_Character\nTest_java_lang_Class\nTest_java_lang_ClassCastException\nTest_java_lang_ClassCircularityError\nTest_java_lang_ClassFormatError\nTest_java_lang_ClassLoader\nTest_java_lang_ClassNotFoundException\nTest_java_lang_CloneNotSupportedException\nTest_java_lang_Double\nTest_java_lang_Error\nTest_java_lang_Exception\nTest_java_lang_ExceptionInInitializerError\nTest_java_lang_Float\nTest_java_lang_IllegalAccessError\nTest_java_lang_IllegalAccessException\nTest_java_lang_IllegalArgumentException\nTest_java_lang_IllegalMonitorStateException\nTest_java_lang_IllegalThreadStateException\nTest_java_lang_IncompatibleClassChangeError\nTest_java_lang_IndexOutOfBoundsException\nTest_java_lang_InstantiationError\nTest_java_lang_InstantiationException\nTest_java_lang_Integer\nTest_java_lang_InternalError\nTest_java_lang_InterruptedException\nTest_java_lang_LinkageError\nTest_java_lang_Long\nTest_java_lang_Math\nTest_java_lang_NegativeArraySizeException\nTest_java_lang_NoClassDefFoundError\nTest_java_lang_NoSuchFieldError\nTest_java_lang_NoSuchMethodError\nTest_java_lang_NullPointerException\nTest_java_lang_Number\nTest_java_lang_NumberFormatException\nTest_java_lang_Object\nTest_java_lang_OutOfMemoryError\nTest_java_lang_RuntimeException\nTest_java_lang_SecurityManager\nTest_java_lang_Short\nTest_java_lang_StackOverflowError\nTest_java_lang_String\nTest_java_lang_StringBuffer\nTest_java_lang_StringIndexOutOfBoundsException\nTest_java_lang_System\nTest_java_lang_Thread\nTest_java_lang_ThreadDeath\nTest_java_lang_ThreadGroup\nTest_java_lang_Throwable\nTest_java_lang_UnknownError\nTest_java_lang_UnsatisfiedLinkError\nTest_java_lang_VerifyError\nTest_java_lang_VirtualMachineError\nTest_java_lang_vm_Image\nTest_java_lang_vm_MemorySegment\nTest_java_lang_vm_ROMStoreException\nTest_java_lang_vm_VM\nTest_java_lang_Void\nTest_java_net_BindException\nTest_java_net_ConnectException\nTest_java_net_DatagramPacket\nTest_java_net_DatagramSocket\nTest_java_net_DatagramSocketImpl\nTest_java_net_InetAddress\nTest_java_net_NoRouteToHostException\nTest_java_net_PlainDatagramSocketImpl\nTest_java_net_PlainSocketImpl\nTest_java_net_Socket\nTest_java_net_SocketException\nTest_java_net_SocketImpl\nTest_java_net_SocketInputStream\nTest_java_net_SocketOutputStream\nTest_java_net_UnknownHostException\nTest_java_util_ArrayEnumerator\nTest_java_util_Date\nTest_java_util_EventObject\nTest_java_util_HashEnumerator\nTest_java_util_Hashtable\nTest_java_util_Properties\nTest_java_util_ResourceBundle\nTest_java_util_tm\nTest_java_util_Vector\n"; 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static class MockPrintStream extends PrintStream { 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public MockPrintStream(String fileName) throws FileNotFoundException { 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super(fileName); 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public MockPrintStream(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException { 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super(fileName, csn); 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public MockPrintStream(OutputStream os) { 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super(os); 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void setError() { 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.setError(); 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "PrintStream", 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.File.class} 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor_Ljava_io_File() throws IOException { 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFile); 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(tobj); 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.write(1); 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("output file has wrong length", 1, testFile.length()); 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFile); 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(tobj); 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("output file should be empty", 0, testFile.length()); 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File file = new File("/invalidDirectory/Dummy"); 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(file); 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("FileNotFoundException not thrown."); 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (FileNotFoundException e) { 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "PrintStream", 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.File.class, java.lang.String.class} 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor_Ljava_io_File_Ljava_lang_String() throws Exception { 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFile, "utf-8"); 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(tobj); 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.write(1); 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("output file has wrong length", 1, testFile.length()); 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFile, "utf-8"); 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(tobj); 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("output file should be empty", 0, testFile.length()); 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project File file = new File("/invalidDirectory/Dummy"); 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(file, "utf-8"); 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("FileNotFoundException not thrown."); 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (FileNotFoundException e) { 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFile, "invalidEncoding"); 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("UnsupportedEncodingException not thrown."); 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (UnsupportedEncodingException e) { 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests {@link java.io.PrintStream#PrintStream(String)} 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "PrintStream", 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor_Ljava_lang_String() throws IOException { 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFilePath); 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(tobj); 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.write(1); 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("output file has wrong length", 1, testFile.length()); 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFilePath); 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(tobj); 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("output file should be empty", 0, testFile.length()); 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream("/invalidDirectory/Dummy"); 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("FileNotFoundException not thrown."); 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (FileNotFoundException e) { 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests {@link java.io.PrintStream#PrintStream(String, String)} 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "PrintStream", 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, java.lang.String.class} 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor_Ljava_lang_String_Ljava_lang_String() throws Exception { 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFilePath, "utf-8"); 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(tobj); 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.write(1); 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("output file has wrong length", 1, testFile.length()); 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFilePath, "utf-8"); 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotNull(tobj); 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("output file should be empty", 0, testFile.length()); 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream("/invalidDirectory/", "utf-8"); 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("FileNotFoundException not thrown."); 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (FileNotFoundException e) { 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(testFilePath, "invalidEncoding"); 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("UnsupportedEncodingException not thrown."); 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (UnsupportedEncodingException e) { 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#PrintStream(java.io.OutputStream) 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "PrintStream", 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.OutputStream.class} 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_io_OutputStream() throws Exception { 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.io.PrintStream(java.io.OutputStream) 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos); 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(2345.76834720202); 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // regression for HARMONY-1195 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os = new PrintStream(baos, true, null); 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Should throw NPE"); 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) {} 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws FileNotFoundException 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#PrintStream(java.io.OutputStream, boolean) 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.SUFFICIENT, 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Passing FALSE for autoFlush not tested.", 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "PrintStream", 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.OutputStream.class, boolean.class} 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_io_OutputStreamZ() throws FileNotFoundException { 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos, true); 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.println(2345.76834720202); 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Bytes not written", baos.size() > 0); 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj = new PrintStream(bos, false); 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj.println(2345.76834720202); 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// assertEquals("Bytes should not be written, yet", 0, bos.size()); 243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj.flush(); 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// assertTrue("Bytes not written", bos.size() > 0); 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj.close(); 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// FileOutputStream fos = new FileOutputStream(testFile); 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// 249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj = new PrintStream(fos, true); 250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj.println(2345.76834720202); 251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// assertTrue("Bytes not written", testFile.length() > 0); 252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj.close(); 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj = new PrintStream(fos, false); 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj.println(2345.76834720202); 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// assertTrue("Bytes not written", testFile.length() > 0); 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// tobj.close(); 258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// 259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "PrintStream", 265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.io.OutputStream.class, boolean.class, java.lang.String.class} 266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_io_OutputStream_Z_Ljava_lang_String() { 268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos, true); 271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.println(2345.76834720202); 272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Bytes not written", baos.size() > 0); 273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos, true, "invalidEncoding"); 277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("UnsupportedEncodingException not thrown."); 278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (UnsupportedEncodingException e) { 279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#checkError() 285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "checkError", 290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_checkError() throws Exception { 293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean java.io.PrintStream.checkError() 294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(new OutputStream() { 295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void write(int b) throws IOException { 297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new IOException(); 298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void write(byte[] b, int o, int l) throws IOException { 301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new IOException(); 302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }); 304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(fileString.substring(0, 501)); 305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Checkerror should return true", os.checkError()); 307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#setError() 311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setError", 315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_setError() throws Exception { 318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project MockPrintStream os = new MockPrintStream(new ByteArrayOutputStream()); 319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Test 1: Error flag should not be set.", os.checkError()); 320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.setError(); 321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Test 2: Error flag should be set.", os.checkError()); 322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#close() 326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "close", 331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_close() throws Exception { 334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.close() 335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos); 336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.close(); 338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#flush() 342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "flush", 347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_flush() throws Exception { 350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.flush() 351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos); 352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(fileString.substring(0, 501)); 353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.flush(); 354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Bytes not written after flush", 501, baos.size()); 355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.close(); 356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(char[]) 361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char[].class} 367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_print$C() { 369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(char []) 370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print((char[]) null); 373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("NPE expected"); 374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException ok) {} 375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os = new PrintStream(baos, true); 377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] sc = new char[4000]; 378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fileString.getChars(0, fileString.length(), sc, 0); 379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(sc); 380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbytes = new byte[4000]; 384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, fileString.length()); 385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect char[] written", fileString, new String(rbytes, 386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0, fileString.length())); 387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(char) 391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char.class} 397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printC() { 399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(char) 400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print('t'); 402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect char written", 't', bis.read()); 404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(double) 408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {double.class} 414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printD() { 416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(double) 417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbuf = new byte[100]; 418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(2345.76834720202); 420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 16); 422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect double written", "2345.76834720202", 423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbuf, 0, 16)); 424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(float) 428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {float.class} 434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printF() { 436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(float) 437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbuf[] = new byte[10]; 439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(29.08764f); 440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.flush(); 441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 8); 443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect float written", "29.08764", new String(rbuf, 0, 444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 8)); 445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(int) 450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printI() { 458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(int) 459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(768347202); 461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbuf = new byte[18]; 462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 9); 464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect int written", "768347202", new String(rbuf, 0, 465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 9)); 466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(long) 470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {long.class} 476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printJ() { 478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(long) 479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbuf = new byte[100]; 480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(9875645283333L); 482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 13); 485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect long written", "9875645283333", new String( 486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project rbuf, 0, 13)); 487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(java.lang.Object) 491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.Object.class} 497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printLjava_lang_Object() throws Exception { 499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(java.lang.Object) 500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print((Object) null); 502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.flush(); 503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] nullbytes = new byte[4]; 505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(nullbytes, 0, 4); 506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("null should be written", "null", new String(nullbytes, 0, 507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 4)); 508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.close(); 510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.close(); 511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayOutputStream bos1 = new ByteArrayOutputStream(); 514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os = new PrintStream(bos1, true); 515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(new java.util.Vector()); 516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis = new ByteArrayInputStream(bos1.toByteArray()); 517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbytes = new byte[2]; 518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, 2); 519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect Object written", "[]", new String(rbytes, 0, 2)); 520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(java.lang.String) 524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printLjava_lang_String() throws Exception { 532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(java.lang.String) 533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print((String) null); 535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] nullbytes = new byte[4]; 537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(nullbytes, 0, 4); 538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("null should be written", "null", new String(nullbytes, 0, 539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 4)); 540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.close(); 542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.close(); 543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.close(); 544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayOutputStream bos1 = new ByteArrayOutputStream(); 546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os = new PrintStream(bos1, true); 547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print("Hello World"); 548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis = new ByteArrayInputStream(bos1.toByteArray()); 549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[100]; 550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, 11); 551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect string written", "Hello World", new String( 552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project rbytes, 0, 11)); 553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#print(boolean) 557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "print", 562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printZ() throws Exception { 565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.print(boolean) 566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.print(true); 568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DataInputStream dis = new DataInputStream(new ByteArrayInputStream(baos 569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .toByteArray())); 570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect boolean written", dis.readBoolean()); 572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println() 576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_println() { 584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println() 585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char c; 586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println(""); 588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = (char) bis.read()) == '\r' 590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project || c == '\n'); 591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(char[]) 595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char[].class} 601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_println$C() { 603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(char []) 604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] sc = new char[4000]; 606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fileString.getChars(0, fileString.length(), sc, 0); 607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println(sc); 608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbytes = new byte[4000]; 610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, fileString.length()); 611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect char[] written", fileString, new String(rbytes, 612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0, fileString.length())); 613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // In this particular test method, the end of data is not immediately 615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // followed by newLine separator in the reading buffer, instead its 616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // followed by zeros. The newline is written as the last entry 617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // in the inputStream buffer. Therefore, we must keep reading until we 618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // hit a new line. 619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int r; 620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project boolean newline = false; 621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project while ((r = bis.read()) != -1) { 622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (r == '\r' || r == '\n') 623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project newline = true; 624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", newline); 626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(char) 630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char.class} 636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printlnC() { 638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(char) 639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int c; 640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println('t'); 642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect char written", 't', bis.read()); 644f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = bis.read()) == '\r' || c == '\n'); 645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(double) 649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {double.class} 655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printlnD() { 657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(double) 658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int c; 659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println(2345.76834720202); 661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbuf = new byte[100]; 663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 16); 664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect double written", "2345.76834720202", 665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbuf, 0, 16)); 666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = bis.read()) == '\r' || c == '\n'); 667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(float) 671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {float.class} 677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printlnF() { 679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(float) 680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int c; 681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbuf = new byte[100]; 682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println(29.08764f); 684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 8); 686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect float written", "29.08764", new String(rbuf, 0, 687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 8)); 688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = bis.read()) == '\r' || c == '\n'); 689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(int) 693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printlnI() { 701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(int) 702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int c; 703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println(768347202); 705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbuf = new byte[100]; 706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 9); 708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect int written", "768347202", new String(rbuf, 0, 709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 9)); 710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = bis.read()) == '\r' || c == '\n'); 711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(long) 715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {long.class} 721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printlnJ() { 723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(long) 724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int c; 725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println(9875645283333L); 727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbuf = new byte[100]; 729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 13); 730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect long written", "9875645283333", new String( 731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project rbuf, 0, 13)); 732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = bis.read()) == '\r' || c == '\n'); 733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(java.lang.Object) 737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.Object.class} 743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printlnLjava_lang_Object() { 745f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(java.lang.Object) 746f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char c; 747f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 748f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println(new java.util.Vector()); 749f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 750f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbytes = new byte[2]; 751f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, 2); 752f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect Vector written", "[]", new String(rbytes, 0, 2)); 753f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = (char) bis.read()) == '\r' 754f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project || c == '\n'); 755f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 756f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 757f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 758f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(java.lang.String) 759f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 760f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 761f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 762f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 763f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 764f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 765f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 766f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printlnLjava_lang_String() { 767f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(java.lang.String) 768f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char c; 769f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 770f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println("Hello World"); 771f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 772f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[100]; 773f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, 11); 774f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect string written", "Hello World", new String( 775f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project rbytes, 0, 11)); 776f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = (char) bis.read()) == '\r' 777f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project || c == '\n'); 778f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 779f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 780f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 781f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#println(boolean) 782f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 783f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 784f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 785f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 786f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "println", 787f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {boolean.class} 788f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 789f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printlnZ() { 790f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.println(boolean) 791f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int c; 792f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 793f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.println(true); 794f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 795f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbuf = new byte[100]; 796f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbuf, 0, 4); 797f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect boolean written", "true", 798f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbuf, 0, 4)); 799f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Newline not written", (c = bis.read()) == '\r' || c == '\n'); 800f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 801f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 802f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 803f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#write(byte[], int, 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 = "write", 809f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {byte[].class, int.class, int.class} 810f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 811f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_write$BII() { 812f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.write(byte [], int, int) 813f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 814f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(fileString.getBytes(), 0, fileString.length()); 815f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 816f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte rbytes[] = new byte[4000]; 817f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, fileString.length()); 818f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect bytes written", new String(rbytes, 0, fileString 819f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .length()).equals(fileString)); 820f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 821f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 822f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(rbytes, -1, 1); 823f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException should have been thrown."); 824f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 825f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 826f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 827f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 828f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 829f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(rbytes, 0, -1); 830f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException should have been thrown."); 831f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 832f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 833f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 834f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 835f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 836f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write(rbytes, 1, rbytes.length); 837f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException should have been thrown."); 838f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 839f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 840f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 841f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 842f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 843f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 844f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#write(int) 845f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 846f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 847f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 848f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 849f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "write", 850f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 851f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 852f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_writeI() { 853f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.io.PrintStream.write(int) 854f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream os = new PrintStream(baos, true); 855f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project os.write('t'); 856f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 857f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect char written", 't', bis.read()); 858f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 859f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 860f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 861f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#append(char) 862f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 863f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 864f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 865f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 866f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "append", 867f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {char.class} 868f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 869f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_appendChar() throws IOException { 870f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char testChar = ' '; 871f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayOutputStream out = new ByteArrayOutputStream(); 872f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream printStream = new PrintStream(out); 873f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.append(testChar); 874f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.flush(); 875f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(String.valueOf(testChar), out.toString()); 876f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.close(); 877f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 878f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 879f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 880f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#append(CharSequence) 881f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 882f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 883f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 884f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 885f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "append", 886f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.CharSequence.class} 887f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 888f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_appendCharSequence() { 889f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String testString = "My Test String"; 890f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayOutputStream out = new ByteArrayOutputStream(); 891f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream printStream = new PrintStream(out); 892f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.append(testString); 893f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.flush(); 894f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(testString, out.toString()); 895f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.close(); 896f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 897f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 898f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 899f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#append(CharSequence, int, int) 900f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 901f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 902f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 903f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 904f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "append", 905f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.CharSequence.class, int.class, int.class} 906f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 907f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_appendCharSequenceIntInt() { 908f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String testString = "My Test String"; 909f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayOutputStream out = new ByteArrayOutputStream(); 910f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream printStream = new PrintStream(out); 911f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.append(testString, 1, 3); 912f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.flush(); 913f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(testString.substring(1, 3), out.toString()); 914f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 915f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.append(testString, 4, 100); 916f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException not thrown"); 917f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 918f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 919f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 920f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 921f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.append(testString, 100, 1); 922f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IndexOutOfBoundsException not thrown"); 923f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IndexOutOfBoundsException e) { 924f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 925f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 926f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project printStream.close(); 927f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 928f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 929f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 930f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#format(java.lang.String, java.lang.Object...) 931f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 932f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 933f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 934f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 935f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "format", 936f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, java.lang.Object[].class} 937f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 938f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_formatLjava_lang_String$Ljava_lang_Object() { 939f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 940f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 941f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos, false); 942f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format("%s %s", "Hello", "World"); 943f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 944f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 945f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbytes = new byte[11]; 946f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, rbytes.length); 947f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrote incorrect string", "Hello World", 948f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes)); 949f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 950f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 951f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 952f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format("%1$.3G, %1$.5f, 0%2$xx", 12345.678, 123456); 953f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 954f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong output!", "1.23E+04, 12345.67800, 01e240x", new String(baos.toByteArray())); 955f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 956f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 957f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 958f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 959f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 960f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format("%1$.3G, %1$x", 12345.678); 961f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 962f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 963f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 964f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 965f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 966f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 967f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format("%s %q", "Hello", "World"); 968f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 969f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 970f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 971f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 972f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 973f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 974f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format("%s %s", "Hello"); 975f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 976f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 977f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 978f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 979f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 980f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 981f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 982f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#format(java.util.Locale, java.lang.String, 983f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * java.lang.Object...) 984f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 985f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 986f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 987f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 988f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "format", 989f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.Locale.class, java.lang.String.class, java.lang.Object[].class} 990f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 991f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_formatLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object() { 9928ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot Locale[] requiredLocales = {Locale.US, Locale.GERMANY}; 9938ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot if (!Support_Locale.areLocalesAvailable(requiredLocales)) { 9948ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot // locale dependent test, bug 1943269 9958ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot return; 9968ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot } 997f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 998f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 999f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos, false); 1000f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format(Locale.US, "%s %s", "Hello", "World"); 1001f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 1002f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 1003f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbytes = new byte[11]; 1004f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, rbytes.length); 1005f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrote incorrect string", "Hello World", 1006f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes)); 1007f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1008f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 1009f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 1010f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format(Locale.GERMANY, "%1$.3G; %1$.5f; 0%2$xx", 12345.678, 123456); 1011f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 1012f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong output!", "1,23E+04; 12345,67800; 01e240x", new String(baos.toByteArray())); 1013f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 1014f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1015f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 1016f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 1017f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format(Locale.US, "%1$.3G, %1$.5f, 0%2$xx", 12345.678, 123456); 1018f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 1019f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong output!", "1.23E+04, 12345.67800, 01e240x", new String(baos.toByteArray())); 1020f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 1021f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1022f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 1023f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 1024f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1025f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format(Locale.US, "%1$.3G, %1$x", 12345.678); 1026f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1027f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1028f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1029f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1030f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1031f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1032f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format(Locale.US, "%s %q", "Hello", "World"); 1033f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1034f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1035f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1036f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1037f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1038f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1039f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.format(Locale.US, "%s %s", "Hello"); 1040f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1041f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1042f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1043f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1044f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1045f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1046f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1047f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#printf(java.lang.String, java.lang.Object...) 1048f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1049f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1050f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1051f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1052f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "printf", 1053f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, java.lang.Object[].class} 1054f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1055f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printfLjava_lang_String$Ljava_lang_Object() { 1056f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 1057f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1058f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos, false); 1059f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf("%s %s", "Hello", "World"); 1060f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 1061f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 1062f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbytes = new byte[11]; 1063f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, rbytes.length); 1064f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrote incorrect string", "Hello World", 1065f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes)); 1066f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1067f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 1068f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 1069f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf("%1$.3G, %1$.5f, 0%2$xx", 12345.678, 123456); 1070f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 1071f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong output!", "1.23E+04, 12345.67800, 01e240x", new String(baos.toByteArray())); 1072f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 1073f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1074f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 1075f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 1076f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1077f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf("%1$.3G, %1$x", 12345.678); 1078f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1079f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1080f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1081f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1082f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1083f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1084f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf("%s %q", "Hello", "World"); 1085f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1086f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1087f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1088f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1089f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1090f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1091f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf("%s %s", "Hello"); 1092f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1093f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1094f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1095f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1096f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1097f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1098f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 1099f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.io.PrintStream#printf(java.util.Locale, java.lang.String, 1100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * java.lang.Object...) 1101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 1102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 1103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 1104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 1105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "printf", 1106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.Locale.class, java.lang.String.class, java.lang.Object[].class} 1107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 1108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_printfLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object() { 11098ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot Locale[] requiredLocales = {Locale.US, Locale.GERMANY}; 11108ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot if (!Support_Locale.areLocalesAvailable(requiredLocales)) { 11118ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot // locale dependent test, bug 1943269 11128ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot return; 11138ba0b9bad4ee13bb30fa75c531921802c05611acBrett Chabot } 1114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintStream tobj; 1115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos, false); 1117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf(Locale.US, "%s %s", "Hello", "World"); 1118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 1119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray()); 1120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] rbytes = new byte[11]; 1121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project bis.read(rbytes, 0, rbytes.length); 1122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrote incorrect string", "Hello World", 1123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new String(rbytes)); 1124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 1126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 1127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf(Locale.GERMANY, "%1$.3G; %1$.5f; 0%2$xx", 12345.678, 123456); 1128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 1129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong output!", "1,23E+04; 12345,67800; 01e240x", new String(baos.toByteArray())); 1130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 1131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 1133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 1134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf(Locale.US, "%1$.3G, %1$.5f, 0%2$xx", 12345.678, 123456); 1135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.flush(); 1136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong output!", "1.23E+04, 12345.67800, 01e240x", new String(baos.toByteArray())); 1137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.close(); 1138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project baos.reset(); 1140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj = new PrintStream(baos); 1141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf(Locale.US, "%1$.3G, %1$x", 12345.678); 1143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf(Locale.US, "%s %q", "Hello", "World"); 1150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 1156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project tobj.printf(Locale.US, "%s %s", "Hello"); 1157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalFormatException not thrown"); 1158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalFormatException e) { 1159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // expected 1160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 1164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() throws Exception { 1165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.setUp(); 1166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testFile = File.createTempFile("test", null); 1167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testFilePath = testFile.getAbsolutePath(); 1168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 1171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() throws Exception { 1172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testFile.delete(); 1173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testFile = null; 1174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testFilePath = null; 1175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.tearDown(); 1176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 1177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 1180