aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAndrzej Ratajczak <andrzej.ratajczak98@gmail.com>2020-08-13 16:24:24 +0200
committerSebastian Sellmair <34319766+sellmair@users.noreply.github.com>2020-08-17 11:55:35 +0200
commit43450355b04f52d64da5b29cff3f8fca87445f5b (patch)
treec88b657c860ed1793c1a0b0a267401bc5b03474c /plugins
parent785d741790f653d5c260f59c9d8875bbfde2dc07 (diff)
downloaddokka-43450355b04f52d64da5b29cff3f8fca87445f5b.tar.gz
dokka-43450355b04f52d64da5b29cff3f8fca87445f5b.tar.bz2
dokka-43450355b04f52d64da5b29cff3f8fca87445f5b.zip
Add tests and add projections to javadoc
Diffstat (limited to 'plugins')
-rw-r--r--plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt6
-rw-r--r--plugins/base/src/test/kotlin/signatures/SignatureTest.kt54
-rw-r--r--plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/signatures/JavadocSignatureProvider.kt6
3 files changed, 62 insertions, 4 deletions
diff --git a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
index bed8386d..16598acd 100644
--- a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
+++ b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
@@ -186,10 +186,8 @@ class KotlinSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLog
c.supertypes.filter { it.key == sourceSet }.map { (s, typeConstructors) ->
list(typeConstructors, prefix = " : ", sourceSets = setOf(s)) {
link(it.typeConstructor.dri.sureClassNames, it.typeConstructor.dri, sourceSets = setOf(s))
- if ( it.typeConstructor.projections.isNotEmpty() ) {
- list(it.typeConstructor.projections, prefix = "<", suffix = "> ") {
- signatureForProjection(it)
- }
+ list(it.typeConstructor.projections, prefix = "<", suffix = "> ") {
+ signatureForProjection(it)
}
}
}
diff --git a/plugins/base/src/test/kotlin/signatures/SignatureTest.kt b/plugins/base/src/test/kotlin/signatures/SignatureTest.kt
index dd3d85c1..d23c45e9 100644
--- a/plugins/base/src/test/kotlin/signatures/SignatureTest.kt
+++ b/plugins/base/src/test/kotlin/signatures/SignatureTest.kt
@@ -239,6 +239,60 @@ class SignatureTest : AbstractCoreTest() {
}
}
+ @Test
+ fun `class with no supertype`() {
+
+ val configuration = dokkaConfiguration {
+ sourceSets {
+ sourceSet {
+ sourceRoots = listOf("src/main/kotlin/test/Test.kt")
+ }
+ }
+ }
+
+ val source = source("class SimpleClass")
+ val writerPlugin = TestOutputWriterPlugin()
+
+ testInline(
+ source,
+ configuration,
+ pluginOverrides = listOf(writerPlugin)
+ ) {
+ renderingStage = { _, _ ->
+ writerPlugin.writer.renderedContent("root/example/-simple-class/index.html").firstSignature().match(
+ "class ", A("SimpleClass"), Span()
+ )
+ }
+ }
+ }
+
+ @Test
+ fun `class with generic supertype`() {
+
+ val configuration = dokkaConfiguration {
+ sourceSets {
+ sourceSet {
+ sourceRoots = listOf("src/main/kotlin/test/Test.kt")
+ }
+ }
+ }
+
+ val source = source("class InheritingClassFromGenericType<T : Number, R : CharSequence> : Comparable<T>, Collection<R>")
+ val writerPlugin = TestOutputWriterPlugin()
+
+ testInline(
+ source,
+ configuration,
+ pluginOverrides = listOf(writerPlugin)
+ ) {
+ renderingStage = { _, _ ->
+ writerPlugin.writer.renderedContent("root/example/-inheriting-class-from-generic-type/index.html").firstSignature().match(
+ "class ", A("InheritingClassFromGenericType"), " <", A("T"), " : ", A("Number"), ", ", A("R"), " : ", A("CharSequence"),
+ "> : ", A("Comparable"), "<", A("T"), "> , ", A("Collection"), "<", A("R"), ">", Span()
+ )
+ }
+ }
+ }
@Test
fun `fun with annotation`() {
diff --git a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/signatures/JavadocSignatureProvider.kt b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/signatures/JavadocSignatureProvider.kt
index 5e655b0d..cda7345a 100644
--- a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/signatures/JavadocSignatureProvider.kt
+++ b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/signatures/JavadocSignatureProvider.kt
@@ -72,9 +72,15 @@ class JavadocSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLo
val (classes, interfaces) = dris.partition { it.kind == JavaClassKindTypes.CLASS }
list(classes, prefix = "extends ", sourceSets = setOf(p)) {
link(it.typeConstructor.dri.sureClassNames, it.typeConstructor.dri, sourceSets = setOf(p))
+ list(it.typeConstructor.projections, prefix = "<", suffix = ">", sourceSets = setOf(p)) {
+ signatureForProjection(it)
+ }
}
list(interfaces, prefix = " implements ", sourceSets = setOf(p)){
link(it.typeConstructor.dri.sureClassNames, it.typeConstructor.dri, sourceSets = setOf(p))
+ list(it.typeConstructor.projections, prefix = "<", suffix = ">", sourceSets = setOf(p)) {
+ signatureForProjection(it)
+ }
}
}
}