summaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
index 0e24939..8ad22f9 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java
@@ -764,8 +764,8 @@ public class JavaWriterTests {
List.of("abc", "def"),
"One",
List.of(
- JavaTypeRef.topLevel(List.of(), "Two"),
- JavaTypeRef.topLevel(List.of(), "Three")
+ JavaTypeArg.invariant(JavaTypeRef.topLevel(List.of(), "Two")),
+ JavaTypeArg.invariant(JavaTypeRef.topLevel(List.of(), "Three"))
)
);
@@ -775,6 +775,22 @@ public class JavaWriterTests {
}
@Test
+ public void typeRefArgCanBeSuper() throws IOException {
+ var java = JavaTypeRef.topLevelGeneric(
+ List.of("abc", "def"),
+ "One",
+ List.of(
+ JavaTypeArg.superType(JavaTypeRef.topLevel(List.of(), "Two")),
+ JavaTypeArg.superType(JavaTypeRef.topLevel(List.of(), "Three"))
+ )
+ );
+
+ var string = write(writer -> writer.writeTypeRef(java));
+
+ assertThat(string, equalTo("abc.def.One<? super Two, ? super Three>"));
+ }
+
+ @Test
public void typeRefInnerTypeNameIsSeparatedByDot() throws IOException {
var java = JavaTypeRef.inner(List.of("abc", "def"), "One", "Two");