You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2006/08/17 20:47:32 UTC
svn commit: r432333 - in
/incubator/harmony/enhanced/classlib/trunk/modules/luni/src:
main/java/java/io/FileInputStream.java
main/java/org/apache/harmony/luni/util/ExternalMessages.properties
test/java/tests/api/java/io/FileInputStreamTest.java
Author: tellison
Date: Thu Aug 17 11:47:31 2006
New Revision: 432333
URL: http://svn.apache.org/viewvc?rev=432333&view=rev
Log:
Fix for HARMONY-1104 ([classlib][io]Harmony does not throw IOException for java.io.FileInputStream.skip(Long n) when n<0 while RI does.)
Modified:
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/FileInputStream.java
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/util/ExternalMessages.properties
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/FileInputStreamTest.java
Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/FileInputStream.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/FileInputStream.java?rev=432333&r1=432332&r2=432333&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/FileInputStream.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/FileInputStream.java Thu Aug 17 11:47:31 2006
@@ -20,6 +20,7 @@
import org.apache.harmony.luni.platform.IFileSystem;
import org.apache.harmony.luni.platform.Platform;
+import org.apache.harmony.luni.util.Msg;
import org.apache.harmony.nio.FileChannelFactory;
/**
@@ -310,6 +311,10 @@
if (count == 0) {
return 0;
}
+ if (count < 0){
+ // KA013=Number of bytes to skip cannot be negative
+ throw new IOException(Msg.getString("KA013")); //$NON-NLS-1$
+ }
// stdin requires special handling
if (fd == FileDescriptor.in) {
Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/util/ExternalMessages.properties
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/util/ExternalMessages.properties?rev=432333&r1=432332&r2=432333&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/util/ExternalMessages.properties (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/util/ExternalMessages.properties Thu Aug 17 11:47:31 2006
@@ -304,3 +304,5 @@
KA010=Cannot read back reference to unshared object
KA011=Malformed reply from SOCKS server
KA012=No such file or directory
+KA013=Number of bytes to skip cannot be negative
+
Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/FileInputStreamTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/FileInputStreamTest.java?rev=432333&r1=432332&r2=432333&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/FileInputStreamTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/FileInputStreamTest.java Thu Aug 17 11:47:31 2006
@@ -382,6 +382,25 @@
}
/**
+ * @tests java.io.FileInputStream#skip(long)
+ */
+ public void test_skipNegativeArgumentJ() throws IOException{
+
+ FileInputStream fis = new java.io.FileInputStream(fileName);
+
+ try {
+ fis.skip(-5);
+ fail("IOException must be thrown if number of bytes to skip <0");
+ } catch (IOException e) {
+ // Expected IOException
+ } catch (Exception e) {
+ fail("IOException expected, but found: " + e.getMessage());
+ }
+
+ fis.close();
+ }
+
+ /**
* Sets up the fixture, for example, open a network connection. This method
* is called before a test is executed.
*/