< prev index next >

test/java/lang/invoke/DropLookupModeTest.java

Print this page

        

@@ -63,10 +63,14 @@
         assertTrue(lookup.lookupModes() == (PUBLIC));
 
         lookup = fullPowerLookup.dropLookupMode(PUBLIC);
         assertTrue(lookup.lookupClass() == lc);
         assertTrue(lookup.lookupModes() == 0);
+
+        lookup = fullPowerLookup.dropLookupMode(UNCONDITIONAL);
+        assertTrue(lookup.lookupClass() == lc);
+        assertTrue(lookup.lookupModes() == (PUBLIC|MODULE|PACKAGE|PRIVATE));
     }
 
     /**
      * Starting with a full power Lookup, use dropLookupMode to create new Lookups
      * with reduced access.

@@ -106,11 +110,11 @@
      * Test dropLookupMode on the public Lookup.
      */
     public void testPublicLookup() {
         final Lookup publicLookup = MethodHandles.publicLookup();
         final Class<?> lc = publicLookup.lookupClass();
-        assertTrue(publicLookup.lookupModes() == PUBLIC);
+        assertTrue(publicLookup.lookupModes() == (PUBLIC|UNCONDITIONAL));
 
         Lookup lookup = publicLookup.dropLookupMode(PRIVATE);
         assertTrue(lookup.lookupClass() == lc);
         assertTrue(lookup.lookupModes() == PUBLIC);
 

@@ -127,10 +131,14 @@
         assertTrue(lookup.lookupModes() == PUBLIC);
 
         lookup = publicLookup.dropLookupMode(PUBLIC);
         assertTrue(lookup.lookupClass() == lc);
         assertTrue(lookup.lookupModes() == 0);
+
+        lookup = publicLookup.dropLookupMode(UNCONDITIONAL);
+        assertTrue(lookup.lookupClass() == lc);
+        assertTrue(lookup.lookupModes() == PUBLIC);
     }
 
     @DataProvider(name = "badInput")
     public Object[][] badInput() {
         return new Object[][] {
< prev index next >