< prev index next >

test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamCloseTest.java

Print this page

        

@@ -35,10 +35,11 @@
 
 import org.testng.annotations.Test;
 
 import static java.util.stream.LambdaTestHelpers.countTo;
 import static java.util.stream.ThowableHelper.checkNPE;
+import static java.util.stream.ThowableHelper.checkISE;
 
 @Test(groups = { "serialization-hostile" })
 public class StreamCloseTest extends OpTestCase {
     public void testNullCloseHandler() {
         checkNPE(() -> Stream.of(1).onClose(null));

@@ -168,6 +169,23 @@
         assertTrue(e.getMessage().equals("1"));
         assertTrue(e.getSuppressed().length == n - 1);
         for (int i=0; i<n-1; i++)
         assertTrue(e.getSuppressed()[i].getMessage().equals(String.valueOf(i + 2)));
     }
+
+    public void testConsumed() {
+        try(Stream<Integer> s = countTo(100).stream()) {
+            s.forEach(i -> {});
+            checkISE(() -> s.onClose(() -> fail("1")));
+        }
+
+        try(Stream<Integer> s = countTo(100).stream()) {
+            s.map(x -> x).forEach(i -> {});
+            checkISE(() -> s.onClose(() -> fail("2")));
+        }
+
+        try(Stream<Integer> s = countTo(100).stream()) {
+            s.close();
+            checkISE(() -> s.onClose(() -> fail("3")));
+        }
+    }
 }
< prev index next >