diff options
author | Jesse Wilson <jessewilson@google.com> | 2011-03-24 17:57:55 -0700 |
---|---|---|
committer | Jesse Wilson <jessewilson@google.com> | 2011-03-24 18:18:19 -0700 |
commit | 112d339673c379b71a989bd33b73648aafe58ce1 (patch) | |
tree | d7aaf7676ca2d2208b5a3ff6e1708a17273296c8 /core/tests | |
parent | ff5569948fda346d95d4615de6578f82d9614be3 (diff) | |
download | frameworks_base-112d339673c379b71a989bd33b73648aafe58ce1.zip frameworks_base-112d339673c379b71a989bd33b73648aafe58ce1.tar.gz frameworks_base-112d339673c379b71a989bd33b73648aafe58ce1.tar.bz2 |
Fix MemoryFile's output stream to advance.
Previously it was not useful.
Change-Id: I0bcc06b65bab33a38a0b0148c020509076a51b1c
http://code.google.com/p/android/issues/detail?id=11415
Diffstat (limited to 'core/tests')
-rw-r--r-- | core/tests/coretests/src/android/os/MemoryFileTest.java | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/core/tests/coretests/src/android/os/MemoryFileTest.java b/core/tests/coretests/src/android/os/MemoryFileTest.java index e627bb4..82af662 100644 --- a/core/tests/coretests/src/android/os/MemoryFileTest.java +++ b/core/tests/coretests/src/android/os/MemoryFileTest.java @@ -20,13 +20,11 @@ import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.SmallTest; -import java.io.File; -import java.io.FileDescriptor; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; public class MemoryFileTest extends AndroidTestCase { @@ -101,6 +99,25 @@ public class MemoryFileTest extends AndroidTestCase { file.close(); } + // http://code.google.com/p/android/issues/detail?id=11415 + public void testOutputStreamAdvances() throws IOException { + MemoryFile file = new MemoryFile("MemoryFileTest", 10); + + OutputStream os = file.getOutputStream(); + os.write(new byte[] { 1, 2, 3, 4, 5 }); + os.write(new byte[] { -1, -1, 6, 7, 8, -1 }, 2, 3); + os.write(9); + try { + os.write(new byte[] { -1, -1 }); + fail(); + } catch (IndexOutOfBoundsException expected) { + } + + byte[] copy = new byte[file.length()]; + file.readBytes(copy, 0, 0, file.length()); + assertEquals("[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]", Arrays.toString(copy)); + } + // Tests for the IndexOutOfBoundsException cases in read(). private void readIndexOutOfBoundsException(int offset, int count, String msg) |