aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/test/kotlin/issues
diff options
context:
space:
mode:
authorSzymon Świstun <sswistun@virtuslab.com>2020-02-26 11:52:03 +0100
committerKamil Doległo <kamilok1965@interia.pl>2020-02-28 16:37:40 +0100
commitcacf1e0c6cda4e42fe6581946cad53a377c71ec7 (patch)
treec6bc41f74dde1962a0578597c5ddcc27fa356689 /plugins/base/src/test/kotlin/issues
parent77d6ce22a286601bc5d1401619eb42fac58e7013 (diff)
downloaddokka-cacf1e0c6cda4e42fe6581946cad53a377c71ec7.tar.gz
dokka-cacf1e0c6cda4e42fe6581946cad53a377c71ec7.tar.bz2
dokka-cacf1e0c6cda4e42fe6581946cad53a377c71ec7.zip
Port some of the core tests from the previous model
Diffstat (limited to 'plugins/base/src/test/kotlin/issues')
-rw-r--r--plugins/base/src/test/kotlin/issues/IssuesTest.kt67
1 files changed, 67 insertions, 0 deletions
diff --git a/plugins/base/src/test/kotlin/issues/IssuesTest.kt b/plugins/base/src/test/kotlin/issues/IssuesTest.kt
new file mode 100644
index 00000000..ea2f0f8e
--- /dev/null
+++ b/plugins/base/src/test/kotlin/issues/IssuesTest.kt
@@ -0,0 +1,67 @@
+package issues
+
+import org.jetbrains.dokka.model.Class
+import org.jetbrains.dokka.model.Function
+import org.junit.Test
+import utils.AbstractModelTest
+
+class IssuesTest : AbstractModelTest("/src/main/kotlin/issues/Test.kt", "issues") {
+
+ @Test
+ fun errorClasses() {
+ inlineModelTest(
+ """
+ |class Test(var value: String) {
+ | fun test(): List<String> = emptyList()
+ | fun brokenApply(v: String) = apply { value = v }
+ |
+ | fun brokenRun(v: String) = run {
+ | value = v
+ | this
+ | }
+ |
+ | fun brokenLet(v: String) = let {
+ | it.value = v
+ | it
+ | }
+ |
+ | fun brokenGenerics() = listOf("a", "b", "c")
+ |
+ | fun working(v: String) = doSomething()
+ |
+ | fun doSomething(): String = "Hello"
+ |}
+ """
+ ) {
+ with((this / "issues" / "Test").cast<Class>()) {
+ // passes
+ (this / "working").cast<Function>().type.constructorFqName equals "kotlin.String"
+ (this / "doSomething").cast<Function>().type.constructorFqName equals "kotlin.String"
+
+ // fails
+ (this / "brokenGenerics").cast<Function>().type.constructorFqName equals "kotlin.collections.List"
+ (this / "brokenApply").cast<Function>().type.constructorFqName equals "issues.Test"
+ (this / "brokenRun").cast<Function>().type.constructorFqName equals "issues.Test"
+ (this / "brokenLet").cast<Function>().type.constructorFqName equals "issues.Test"
+ }
+ }
+ }
+
+ //@Test
+ // fun errorClasses() {
+ // checkSourceExistsAndVerifyModel("testdata/issues/errorClasses.kt",
+ // modelConfig = ModelConfig(analysisPlatform = analysisPlatform, withJdk = true, withKotlinRuntime = true)) { model ->
+ // val cls = model.members.single().members.single()
+ //
+ // fun DocumentationNode.returnType() = this.details.find { it.kind == NodeKind.Type }?.name
+ // assertEquals("Test", cls.members[1].returnType())
+ // assertEquals("Test", cls.members[2].returnType())
+ // assertEquals("Test", cls.members[3].returnType())
+ // assertEquals("List", cls.members[4].returnType())
+ // assertEquals("String", cls.members[5].returnType())
+ // assertEquals("String", cls.members[6].returnType())
+ // assertEquals("String", cls.members[7].returnType())
+ // }
+ // }
+
+} \ No newline at end of file