< 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 >