diff options
author | Dmitry Jemerov <yole@jetbrains.com> | 2015-02-13 17:04:58 +0100 |
---|---|---|
committer | Dmitry Jemerov <yole@jetbrains.com> | 2015-02-13 17:04:58 +0100 |
commit | aa3f05136ca743eac15a9f8deb939f69cff6eb70 (patch) | |
tree | f29f96f66e4e275c809188e8633250bb9711b79a /test | |
parent | 7d0e2ec29213906a9c4deb9db7f8d9131fb4c2e1 (diff) | |
download | dokka-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.java | 5 | ||||
-rw-r--r-- | test/src/TestAPI.kt | 7 | ||||
-rw-r--r-- | test/src/model/JavaTest.kt | 84 |
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) + } + } + } + } } |