< prev index next >
test/java/lang/String/concat/StringConcatFactoryInvariants.java
Print this page
@@ -64,11 +64,11 @@
private static final char TAG_ARG = '\u0001';
private static final char TAG_CONST = '\u0002';
public static void main(String[] args) throws Throwable {
- MethodHandles.Lookup lookup = MethodHandles.publicLookup();
+ MethodHandles.Lookup lookup = MethodHandles.lookup();
String methodName = "foo";
MethodType mt = MethodType.methodType(String.class, String.class, int.class);
String recipe = "" + TAG_ARG + TAG_ARG + TAG_CONST;
String[] constants = new String[]{"bar"};
@@ -234,10 +234,18 @@
() -> StringConcatFactory.makeConcat(lookup, methodName, mtEmpty));
// Advanced factory: test empty arguments
ok("Ok to pass empty arguments",
() -> StringConcatFactory.makeConcatWithConstants(lookup, methodName, mtEmpty, recipeEmpty));
+
+ // Simple factory: public Lookup is rejected
+ fail("Passing public Lookup",
+ () -> StringConcatFactory.makeConcat(MethodHandles.publicLookup(), methodName, mtEmpty));
+
+ // Advanced factory: public Lookup is rejected
+ fail("Passing public Lookup",
+ () -> StringConcatFactory.makeConcatWithConstants(MethodHandles.publicLookup(), methodName, mtEmpty, recipeEmpty));
}
public static void ok(String msg, Callable runnable) {
try {
runnable.call();
< prev index next >