aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDmitry Jemerov <yole@jetbrains.com>2015-02-13 17:04:58 +0100
committerDmitry Jemerov <yole@jetbrains.com>2015-02-13 17:04:58 +0100
commitaa3f05136ca743eac15a9f8deb939f69cff6eb70 (patch)
treef29f96f66e4e275c809188e8633250bb9711b79a /test
parent7d0e2ec29213906a9c4deb9db7f8d9131fb4c2e1 (diff)
downloaddokka-aa3f05136ca743eac15a9f8deb939f69cff6eb70.tar.gz
dokka-aa3f05136ca743eac15a9f8deb939f69cff6eb70.tar.bz2
dokka-aa3f05136ca743eac15a9f8deb939f69cff6eb70.zip
import Java type parameters into documentation model
Diffstat (limited to 'test')
-rw-r--r--test/data/java/typeParameter.java5
-rw-r--r--test/src/TestAPI.kt7
-rw-r--r--test/src/model/JavaTest.kt84
3 files changed, 58 insertions, 38 deletions
diff --git a/test/data/java/typeParameter.java b/test/data/java/typeParameter.java
new file mode 100644
index 00000000..98a6aee9
--- /dev/null
+++ b/test/data/java/typeParameter.java
@@ -0,0 +1,5 @@
+package test
+
+class Foo<T extends Comparable<T>> {
+ public <E> E foo();
+}
diff --git a/test/src/TestAPI.kt b/test/src/TestAPI.kt
index 5ba685f6..95fe655e 100644
--- a/test/src/TestAPI.kt
+++ b/test/src/TestAPI.kt
@@ -37,6 +37,13 @@ public fun verifyModel(vararg files: String, verifier: (DocumentationModule) ->
Disposer.dispose(environment)
}
+public fun verifyPackageMember(vararg files: String, verifier: (DocumentationNode) -> Unit) {
+ verifyModel(*files) { model ->
+ val pkg = model.members.single()
+ verifier(pkg.members.single())
+ }
+}
+
public fun verifyOutput(path: String, outputExtension: String, outputGenerator: (DocumentationModule, StringBuilder) -> Unit) {
verifyModel(path) {
val output = StringBuilder()
diff --git a/test/src/model/JavaTest.kt b/test/src/model/JavaTest.kt
index d40b3ba3..5c8163a3 100644
--- a/test/src/model/JavaTest.kt
+++ b/test/src/model/JavaTest.kt
@@ -6,59 +6,49 @@ import org.junit.*
public class JavaTest {
Test fun function() {
- verifyModel("test/data/java/member.java") { model ->
- val pkg = model.members.single()
- with(pkg.members.single()) {
- assertEquals("Test", name)
- assertEquals(DocumentationNode.Kind.Class, kind)
- with(members.single()) {
- assertEquals("fn", name)
- assertEquals(DocumentationNode.Kind.Function, kind)
- assertEquals("Summary for Function", content.summary.toTestString())
- assertEquals("Unit", detail(DocumentationNode.Kind.Type).name)
- assertTrue(members.none())
- assertTrue(links.none())
- with(details.first { it.name == "name" }) {
- assertEquals(DocumentationNode.Kind.Parameter, kind)
- assertEquals("String", detail(DocumentationNode.Kind.Type).name)
- }
- with(details.first { it.name == "value" }) {
- assertEquals(DocumentationNode.Kind.Parameter, kind)
- assertEquals("Int", detail(DocumentationNode.Kind.Type).name)
- }
+ verifyPackageMember("test/data/java/member.java") { cls ->
+ assertEquals("Test", cls.name)
+ assertEquals(DocumentationNode.Kind.Class, cls.kind)
+ with(cls.members.single()) {
+ assertEquals("fn", name)
+ assertEquals(DocumentationNode.Kind.Function, kind)
+ assertEquals("Summary for Function", content.summary.toTestString())
+ assertEquals("Unit", detail(DocumentationNode.Kind.Type).name)
+ assertTrue(members.none())
+ assertTrue(links.none())
+ with(details.first { it.name == "name" }) {
+ assertEquals(DocumentationNode.Kind.Parameter, kind)
+ assertEquals("String", detail(DocumentationNode.Kind.Type).name)
+ }
+ with(details.first { it.name == "value" }) {
+ assertEquals(DocumentationNode.Kind.Parameter, kind)
+ assertEquals("Int", detail(DocumentationNode.Kind.Type).name)
}
}
}
}
Test fun memberWithModifiers() {
- verifyModel("test/data/java/memberWithModifiers.java") { model ->
- val pkg = model.members.single()
- with(pkg.members.single()) {
- assertEquals("abstract", details[0].name)
- with(members.single()) {
- assertEquals("protected", details[0].name)
- }
+ verifyPackageMember("test/data/java/memberWithModifiers.java") { cls ->
+ assertEquals("abstract", cls.details[0].name)
+ with(cls.members.single()) {
+ assertEquals("protected", details[0].name)
}
}
}
Test fun superClass() {
- verifyModel("test/data/java/superClass.java") { model ->
- val pkg = model.members.single()
- with(pkg.members.single()) {
- val superTypes = details(DocumentationNode.Kind.Supertype)
- assertEquals(2, superTypes.size())
- assertEquals("Exception", superTypes[0].name)
- assertEquals("Cloneable", superTypes[1].name)
- }
+ verifyPackageMember("test/data/java/superClass.java") { cls ->
+ val superTypes = cls.details(DocumentationNode.Kind.Supertype)
+ assertEquals(2, superTypes.size())
+ assertEquals("Exception", superTypes[0].name)
+ assertEquals("Cloneable", superTypes[1].name)
}
}
Test fun arrayType() {
- verifyModel("test/data/java/arrayType.java") { model ->
- val pkg = model.members.single()
- with(pkg.members.single().members.single()) {
+ verifyPackageMember("test/data/java/arrayType.java") { cls ->
+ with(cls.members.single()) {
assertEquals("Array<String>", detail(DocumentationNode.Kind.Type).name)
with(details(DocumentationNode.Kind.Parameter).single()) {
assertEquals("Array<Int>", detail(DocumentationNode.Kind.Type).name)
@@ -67,4 +57,22 @@ public class JavaTest {
}
}
+ Test fun typeParameter() {
+ verifyPackageMember("test/data/java/typeParameter.java") { cls ->
+ val typeParameters = cls.details(DocumentationNode.Kind.TypeParameter)
+ with(typeParameters.single()) {
+ assertEquals("T", name)
+ with(detail(DocumentationNode.Kind.UpperBound)) {
+ assertEquals("Comparable", name)
+ assertEquals("T", detail(DocumentationNode.Kind.TypeParameter).name)
+ }
+ }
+ with(cls.members.single()) {
+ val methodTypeParameters = details(DocumentationNode.Kind.TypeParameter)
+ with(methodTypeParameters.single()) {
+ assertEquals("E", name)
+ }
+ }
+ }
+ }
}