diff options
author | Ignat Beresnev <ignat.beresnev@jetbrains.com> | 2022-06-19 17:30:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-19 17:30:05 +0200 |
commit | 89fc2494b40624c03a74e01f2f4ec4941bb5314d (patch) | |
tree | de6a8ae616f2f06e02d3c5b0a0fce20c1b08315a /plugins/base/src/test/kotlin/signatures/SignatureTest.kt | |
parent | a11a8dd92fcccff770d6893f27c3546fef17655d (diff) | |
download | dokka-89fc2494b40624c03a74e01f2f4ec4941bb5314d.tar.gz dokka-89fc2494b40624c03a74e01f2f4ec4941bb5314d.tar.bz2 dokka-89fc2494b40624c03a74e01f2f4ec4941bb5314d.zip |
Fix incorrectly labeling java properties as val/var (#2540)
Fixes #2539
Diffstat (limited to 'plugins/base/src/test/kotlin/signatures/SignatureTest.kt')
-rw-r--r-- | plugins/base/src/test/kotlin/signatures/SignatureTest.kt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/plugins/base/src/test/kotlin/signatures/SignatureTest.kt b/plugins/base/src/test/kotlin/signatures/SignatureTest.kt index b021fae1..79089967 100644 --- a/plugins/base/src/test/kotlin/signatures/SignatureTest.kt +++ b/plugins/base/src/test/kotlin/signatures/SignatureTest.kt @@ -951,4 +951,48 @@ class SignatureTest : BaseAbstractTest() { } } } + + @Test + fun `java property without accessors should be var`() { + val writerPlugin = TestOutputWriterPlugin() + testInline( + """ + |/src/test/JavaClass.java + |package test; + |public class JavaClass { + | public int property = 0; + |} + | + |/src/test/KotlinClass.kt + |package test + |open class KotlinClass : JavaClass() { } + """.trimIndent(), + configuration, + pluginOverrides = listOf(writerPlugin) + ) { + renderingStage = { _, _ -> + writerPlugin.writer.renderedContent("root/test/-kotlin-class/index.html").let { kotlinClassContent -> + val signatures = kotlinClassContent.signature().toList() + assertEquals(3, signatures.size, "Expected 2 signatures: class signature, constructor and property") + + val property = signatures[2] + property.match( + "var ", A("property"), ":", A("Int"), Span(), + ignoreSpanWithTokenStyle = true + ) + } + + writerPlugin.writer.renderedContent("root/test/-java-class/index.html").let { kotlinClassContent -> + val signatures = kotlinClassContent.signature().toList() + assertEquals(2, signatures.size, "Expected 2 signatures: class signature and property") + + val property = signatures[1] + property.match( + "open var ", A("property"), ":", A("Int"), Span(), + ignoreSpanWithTokenStyle = true + ) + } + } + } + } } |