test/java/nio/Buffer/BasicFloat.java

Print this page
rev 11666 : 8065556: (bf) Buffer.position and other methods should include detail in IAE
Summary: Add messages to IAEs which have none.
Reviewed-by: XXX

@@ -126,10 +126,18 @@
             c.put((float)ic(i));
         c.flip();
         c.position(7);
         b.put(c);
         b.flip();
+        try {
+            b.put(b);
+            fail("IllegalArgumentException expected for putting into same buffer");
+        } catch (IllegalArgumentException e) {
+            if (e.getMessage() == null) {
+                fail("Non-null IllegalArgumentException message expected from putting into same buffer");
+            }
+        }
     }
 
     //6231529
     private static void callReset(FloatBuffer b) {
         b.position(0);

@@ -462,10 +470,46 @@
                     b.mark();
                     b.compact();
                     b.reset();
                 }});
 
+        try {
+            b.position(b.limit() + 1);
+            fail("IllegalArgumentException expected for setting position beyond limit");
+        } catch (IllegalArgumentException e) {
+            if (e.getMessage() == null) {
+                fail("Non-null IllegalArgumentException message expected for setting position beyond limit");
+            }
+        }
+
+        try {
+            b.position(-1);
+            fail("IllegalArgumentException expected for setting negative position");
+        } catch (IllegalArgumentException e) {
+            if (e.getMessage() == null) {
+                fail("Non-null IllegalArgumentException message expected for setting negative position");
+            }
+        }
+
+        try {
+            b.limit(b.capacity() + 1);
+            fail("IllegalArgumentException expected for setting limit beyond capacity");
+        } catch (IllegalArgumentException e) {
+            if (e.getMessage() == null) {
+                fail("Non-null IllegalArgumentException message expected for setting limit beyond capacity");
+            }
+        }
+
+        try {
+            b.limit(-1);
+            fail("IllegalArgumentException expected for setting negative limit");
+        } catch (IllegalArgumentException e) {
+            if (e.getMessage() == null) {
+                fail("Non-null IllegalArgumentException message expected for setting negative limit");
+            }
+        }
+
         // Values
 
         b.clear();
         b.put((float)0);
         b.put((float)-1);

@@ -932,10 +976,24 @@
         // An IllegalArgumentException will be thrown for negative capacities.
         tryCatch((Buffer) null, IllegalArgumentException.class, new Runnable() {
                 public void run() {
                     FloatBuffer.allocate(-1);
                 }});
+        try {
+            FloatBuffer.allocate(-1);
+        } catch (IllegalArgumentException e) {
+            if (e.getMessage() == null) {
+                fail("Non-null IllegalArgumentException message expected attempt to allocate negative capacity buffer");
+            }
+        }
+
+
+
+
+
+
+