--- jsr166/src/test/tck/CompletableFutureTest.java 2016/09/21 18:07:37 1.175 +++ jsr166/src/test/tck/CompletableFutureTest.java 2016/09/21 19:02:50 1.178 @@ -4028,6 +4028,48 @@ public class CompletableFutureTest exten } /** + * minimalStage.toCompletableFuture() returns a CompletableFuture that + * is completed normally, with the same value, when source is. + */ + public void testMinimalCompletionStage_toCompletableFuture_normalCompletion() { + for (boolean createIncomplete : new boolean[] { true, false }) + for (Integer v1 : new Integer[] { 1, null }) + { + CompletableFuture f = new CompletableFuture<>(); + CompletionStage minimal = f.minimalCompletionStage(); + if (!createIncomplete) assertTrue(f.complete(v1)); + CompletableFuture g = minimal.toCompletableFuture(); + if (createIncomplete) { + checkIncomplete(f); + checkIncomplete(g); + assertTrue(f.complete(v1)); + } + checkCompletedNormally(f, v1); + checkCompletedNormally(g, v1); + }} + + /** + * minimalStage.toCompletableFuture() returns a CompletableFuture that + * is completed exceptionally when source is. + */ + public void testMinimalCompletionStage_toCompletableFuture_exceptionalCompletion() { + for (boolean createIncomplete : new boolean[] { true, false }) + { + CFException ex = new CFException(); + CompletableFuture f = new CompletableFuture<>(); + CompletionStage minimal = f.minimalCompletionStage(); + if (!createIncomplete) f.completeExceptionally(ex); + CompletableFuture g = minimal.toCompletableFuture(); + if (createIncomplete) { + checkIncomplete(f); + checkIncomplete(g); + f.completeExceptionally(ex); + } + checkCompletedExceptionally(f, ex); + checkCompletedWithWrappedException(g, ex); + }} + + /** * minimalStage.toCompletableFuture() gives mutable CompletableFuture */ public void testMinimalCompletionStage_toCompletableFuture_mutable() { @@ -4036,7 +4078,7 @@ public class CompletableFutureTest exten CompletableFuture f = new CompletableFuture<>(); CompletionStage minimal = f.minimalCompletionStage(); CompletableFuture g = minimal.toCompletableFuture(); - g.complete(v1); + assertTrue(g.complete(v1)); checkCompletedNormally(g, v1); checkIncomplete(f); checkIncomplete(minimal.toCompletableFuture());