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.146 by jsr166, Mon Apr 11 06:31:42 2016 UTC vs.
Revision 1.149 by jsr166, Sun Jun 26 16:01:17 2016 UTC

# Line 3632 | Line 3632 | public class CompletableFutureTest exten
3632      //--- tests of implementation details; not part of official tck ---
3633  
3634      Object resultOf(CompletableFuture<?> f) {
3635 +        SecurityManager sm = System.getSecurityManager();
3636 +        if (sm != null) {
3637 +            try {
3638 +                System.setSecurityManager(null);
3639 +            } catch (SecurityException giveUp) {
3640 +                return "Reflection not available";
3641 +            }
3642 +        }
3643 +
3644          try {
3645              java.lang.reflect.Field resultField
3646                  = CompletableFuture.class.getDeclaredField("result");
3647              resultField.setAccessible(true);
3648              return resultField.get(f);
3649 <        } catch (Throwable t) { throw new AssertionError(t); }
3649 >        } catch (Throwable t) {
3650 >            throw new AssertionError(t);
3651 >        } finally {
3652 >            if (sm != null) System.setSecurityManager(sm);
3653 >        }
3654      }
3655  
3656      public void testExceptionPropagationReusesResultObject() {
# Line 3660 | Line 3673 | public class CompletableFutureTest exten
3673          funs.add((y) -> m.applyToEither(y, incomplete, new IncFunction(m)));
3674  
3675          funs.add((y) -> m.runAfterBoth(y, v42, new Noop(m)));
3676 +        funs.add((y) -> m.runAfterBoth(v42, y, new Noop(m)));
3677          funs.add((y) -> m.thenAcceptBoth(y, v42, new SubtractAction(m)));
3678 +        funs.add((y) -> m.thenAcceptBoth(v42, y, new SubtractAction(m)));
3679          funs.add((y) -> m.thenCombine(y, v42, new SubtractFunction(m)));
3680 +        funs.add((y) -> m.thenCombine(v42, y, new SubtractFunction(m)));
3681  
3682          funs.add((y) -> m.whenComplete(y, (Integer r, Throwable t) -> {}));
3683  
3684          funs.add((y) -> m.thenCompose(y, new CompletableFutureInc(m)));
3685  
3686 +        funs.add((y) -> CompletableFuture.allOf(new CompletableFuture<?>[] {y}));
3687          funs.add((y) -> CompletableFuture.allOf(new CompletableFuture<?>[] {y, v42}));
3688 +        funs.add((y) -> CompletableFuture.allOf(new CompletableFuture<?>[] {v42, y}));
3689 +        funs.add((y) -> CompletableFuture.anyOf(new CompletableFuture<?>[] {y}));
3690          funs.add((y) -> CompletableFuture.anyOf(new CompletableFuture<?>[] {y, incomplete}));
3691 +        funs.add((y) -> CompletableFuture.anyOf(new CompletableFuture<?>[] {incomplete, y}));
3692  
3693          for (Function<CompletableFuture<Integer>, CompletableFuture<?>>
3694                   fun : funs) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines