diff options
author | Szymon Świstun <sswistun@virtuslab.com> | 2020-02-26 11:52:03 +0100 |
---|---|---|
committer | Kamil Doległo <kamilok1965@interia.pl> | 2020-02-28 16:37:40 +0100 |
commit | cacf1e0c6cda4e42fe6581946cad53a377c71ec7 (patch) | |
tree | c6bc41f74dde1962a0578597c5ddcc27fa356689 /plugins/base/src/test/kotlin/issues | |
parent | 77d6ce22a286601bc5d1401619eb42fac58e7013 (diff) | |
download | dokka-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.kt | 67 |
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 |