ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/CompletableFutureTest.java
(Generate patch)

Comparing jsr166/src/test/tck/CompletableFutureTest.java (file contents):
Revision 1.218 by jsr166, Sat Nov 24 18:24:14 2018 UTC vs.
Revision 1.222 by jsr166, Mon Dec 16 21:18:49 2019 UTC

# Line 926 | Line 926 | public class CompletableFutureTest exten
926          for (boolean createIncomplete : new boolean[] { true, false })
927          for (Integer v1 : new Integer[] { 1, null })
928      {
929 +        final AtomicInteger ran = new AtomicInteger(0);
930          final CompletableFuture<Integer> f = new CompletableFuture<>();
931          if (!createIncomplete) assertTrue(f.complete(v1));
932          final CompletableFuture<Integer> g = m.exceptionally
933              (f, (Throwable t) -> {
934 <                threadFail("should not be called");
935 <                return null;            // unreached
934 >                ran.getAndIncrement();
935 >                throw new AssertionError("should not be called");
936              });
937          if (createIncomplete) assertTrue(f.complete(v1));
938  
939          checkCompletedNormally(g, v1);
940          checkCompletedNormally(f, v1);
941 +        assertEquals(0, ran.get());
942      }}
943  
944      /**
# Line 3436 | Line 3438 | public class CompletableFutureTest exten
3438          CompletableFuture<Integer> nullFuture = (CompletableFuture<Integer>)null;
3439          ThreadExecutor exec = new ThreadExecutor();
3440  
3441 <        Runnable[] throwingActions = {
3441 >        assertThrows(
3442 >            NullPointerException.class,
3443 >
3444              () -> CompletableFuture.supplyAsync(null),
3445              () -> CompletableFuture.supplyAsync(null, exec),
3446              () -> CompletableFuture.supplyAsync(new IntegerSupplier(ExecutionMode.SYNC, 42), null),
# Line 3539 | Line 3543 | public class CompletableFutureTest exten
3543              () -> f.completeOnTimeout(42, 1L, null),
3544  
3545              () -> CompletableFuture.failedFuture(null),
3546 <            () -> CompletableFuture.failedStage(null),
3543 <        };
3546 >            () -> CompletableFuture.failedStage(null));
3547  
3545        assertThrows(NullPointerException.class, throwingActions);
3548          assertEquals(0, exec.count.get());
3549      }
3550  
# Line 4188 | Line 4190 | public class CompletableFutureTest exten
4190              // Manufacture boxed primitives for primitive params
4191              for (int i = 0; i < args.length; i++) {
4192                  Class<?> type = parameterTypes[i];
4193 <                if (parameterTypes[i] == boolean.class)
4194 <                    args[i] = false;
4195 <                else if (parameterTypes[i] == int.class)
4194 <                    args[i] = 0;
4195 <                else if (parameterTypes[i] == long.class)
4196 <                    args[i] = 0L;
4193 >                if      (type == boolean.class) args[i] = false;
4194 >                else if (type == int.class)     args[i] = 0;
4195 >                else if (type == long.class)    args[i] = 0L;
4196              }
4197              for (CompletionStage<Integer> stage : stages) {
4198                  try {
# Line 4829 | Line 4828 | public class CompletableFutureTest exten
4828          for (boolean createIncomplete : new boolean[] { true, false })
4829          for (Integer v1 : new Integer[] { 1, null })
4830      {
4831 +        final AtomicInteger ran = new AtomicInteger(0);
4832          final CompletableFuture<Integer> f = new CompletableFuture<>();
4833          final DelegatedCompletionStage<Integer> d =
4834              new DelegatedCompletionStage<Integer>(f);
4835          if (!createIncomplete) assertTrue(f.complete(v1));
4836          final CompletionStage<Integer> g = d.exceptionallyAsync
4837              ((Throwable t) -> {
4838 <                threadFail("should not be called");
4839 <                return null;            // unreached
4838 >                ran.getAndIncrement();
4839 >                throw new AssertionError("should not be called");
4840              });
4841          if (createIncomplete) assertTrue(f.complete(v1));
4842  
4843          checkCompletedNormally(g.toCompletableFuture(), v1);
4844 +        checkCompletedNormally(f, v1);
4845 +        assertEquals(0, ran.get());
4846      }}
4847  
4848      /**
# Line 4866 | Line 4868 | public class CompletableFutureTest exten
4868          if (createIncomplete) f.completeExceptionally(ex);
4869  
4870          checkCompletedNormally(g.toCompletableFuture(), v1);
4871 +        checkCompletedExceptionally(f, ex);
4872          assertEquals(1, ran.get());
4873      }}
4874  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines