From cedaeb48615cf6f9aae3cbcd3917e9827ca5e67f Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 29 Dec 2014 20:50:26 +0100 Subject: put class object functions and properties in main class block --- test/src/model/ClassTest.kt | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'test/src') diff --git a/test/src/model/ClassTest.kt b/test/src/model/ClassTest.kt index 65363c92..b95a31dc 100644 --- a/test/src/model/ClassTest.kt +++ b/test/src/model/ClassTest.kt @@ -136,4 +136,34 @@ public class ClassTest { } } } -} \ No newline at end of file + + Test fun classWithClassObject() { + verifyModel("test/data/classes/classWithClassObject.kt") { model -> + with(model.members.single().members.single()) { + assertEquals(DocumentationNode.Kind.Class, kind) + assertEquals("Klass", name) + assertEquals(Content.Empty, content) + assertEquals(2, details.count()) + assertTrue(links.none()) + + assertEquals(3, members.count()) + with(members.elementAt(0)) { + assertEquals("", name) + assertEquals(Content.Empty, content) + } + with(members.elementAt(1)) { + assertEquals("x", name) + assertEquals(DocumentationNode.Kind.ClassObjectProperty, kind) + assertTrue(members.none()) + assertTrue(links.none()) + } + with(members.elementAt(2)) { + assertEquals("foo", name) + assertEquals(DocumentationNode.Kind.ClassObjectFunction, kind) + assertTrue(members.none()) + assertTrue(links.none()) + } + } + } + } +} -- cgit From 2016ba9a4c6fbd1cc1644eff6d7ac606d624bd23 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 29 Dec 2014 21:05:53 +0100 Subject: render class object properties and functions --- test/src/TestAPI.kt | 3 ++- test/src/format/MarkdownFormatTest.kt | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'test/src') diff --git a/test/src/TestAPI.kt b/test/src/TestAPI.kt index a16a0b57..6f4e34c2 100644 --- a/test/src/TestAPI.kt +++ b/test/src/TestAPI.kt @@ -55,8 +55,9 @@ public fun verifyOutput(path: String, outputGenerator: (DocumentationModule, Str verifyModel(path) { val output = StringBuilder() outputGenerator(it, output) + val trimmedOutput = output.toString().split('\n').map { it.trimTrailing() }.join("\n") val expectedOutput = File(path.replace(".kt", ".md")).readText() - assertEquals(expectedOutput, output.toString()) + assertEquals(expectedOutput.trimTrailing(), trimmedOutput) } } diff --git a/test/src/format/MarkdownFormatTest.kt b/test/src/format/MarkdownFormatTest.kt index beb727da..ea501c53 100644 --- a/test/src/format/MarkdownFormatTest.kt +++ b/test/src/format/MarkdownFormatTest.kt @@ -13,4 +13,10 @@ public class MarkdownFormatTest { markdownService.appendNodes(tempLocation, output, model.members.single().members) } } + + Test fun classWithClassObject() { + verifyOutput("test/data/format/classWithClassObject.kt") { model, output -> + markdownService.appendNodes(tempLocation, output, model.members.single().members) + } + } } -- cgit From 8ef68182c02d8ec8fc33d0de0b7fcdef183e7ee7 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 30 Dec 2014 12:36:14 +0100 Subject: more correct formatting of Markdown tables --- test/src/TestAPI.kt | 7 +++---- test/src/format/HtmlFormatTest.kt | 15 +++++++++++++++ test/src/format/MarkdownFormatTest.kt | 4 ++-- 3 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 test/src/format/HtmlFormatTest.kt (limited to 'test/src') diff --git a/test/src/TestAPI.kt b/test/src/TestAPI.kt index 6f4e34c2..cc09f001 100644 --- a/test/src/TestAPI.kt +++ b/test/src/TestAPI.kt @@ -51,13 +51,12 @@ public fun verifyModel(vararg files: String, verifier: (DocumentationModule) -> Disposer.dispose(environment) } -public fun verifyOutput(path: String, outputGenerator: (DocumentationModule, StringBuilder) -> Unit) { +public fun verifyOutput(path: String, outputExtension: String, outputGenerator: (DocumentationModule, StringBuilder) -> Unit) { verifyModel(path) { val output = StringBuilder() outputGenerator(it, output) - val trimmedOutput = output.toString().split('\n').map { it.trimTrailing() }.join("\n") - val expectedOutput = File(path.replace(".kt", ".md")).readText() - assertEquals(expectedOutput.trimTrailing(), trimmedOutput) + val expectedOutput = File(path.replace(".kt", outputExtension)).readText() + assertEquals(expectedOutput, output.toString()) } } diff --git a/test/src/format/HtmlFormatTest.kt b/test/src/format/HtmlFormatTest.kt new file mode 100644 index 00000000..758c6e7b --- /dev/null +++ b/test/src/format/HtmlFormatTest.kt @@ -0,0 +1,15 @@ +package org.jetbrains.dokka.tests + +import org.jetbrains.dokka.KotlinLanguageService +import org.junit.Test +import org.jetbrains.dokka.HtmlFormatService + +public class HtmlFormatTest { + private val htmlService = HtmlFormatService(InMemoryLocationService, KotlinLanguageService()) + + Test fun classWithClassObject() { + verifyOutput("test/data/format/classWithClassObject.kt", ".html") { model, output -> + htmlService.appendNodes(tempLocation, output, model.members.single().members) + } + } +} diff --git a/test/src/format/MarkdownFormatTest.kt b/test/src/format/MarkdownFormatTest.kt index ea501c53..5cdfb8b5 100644 --- a/test/src/format/MarkdownFormatTest.kt +++ b/test/src/format/MarkdownFormatTest.kt @@ -9,13 +9,13 @@ public class MarkdownFormatTest { private val markdownService = MarkdownFormatService(InMemoryLocationService, KotlinLanguageService()) Test fun emptyDescription() { - verifyOutput("test/data/format/emptyDescription.kt") { model, output -> + verifyOutput("test/data/format/emptyDescription.kt", ".md") { model, output -> markdownService.appendNodes(tempLocation, output, model.members.single().members) } } Test fun classWithClassObject() { - verifyOutput("test/data/format/classWithClassObject.kt") { model, output -> + verifyOutput("test/data/format/classWithClassObject.kt", ".md") { model, output -> markdownService.appendNodes(tempLocation, output, model.members.single().members) } } -- cgit From feca80b65581e688b1e9a3e807dfce2e17fd4a13 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 30 Dec 2014 13:41:02 +0100 Subject: add test for html escaping; fix special characters eaten from output --- test/src/format/HtmlFormatTest.kt | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test/src') diff --git a/test/src/format/HtmlFormatTest.kt b/test/src/format/HtmlFormatTest.kt index 758c6e7b..a47b5774 100644 --- a/test/src/format/HtmlFormatTest.kt +++ b/test/src/format/HtmlFormatTest.kt @@ -12,4 +12,10 @@ public class HtmlFormatTest { htmlService.appendNodes(tempLocation, output, model.members.single().members) } } + + Test fun htmlEscaping() { + verifyOutput("test/data/format/htmlEscaping.kt", ".html") { model, output -> + htmlService.appendNodes(tempLocation, output, model.members.single().members) + } + } } -- cgit From 3fc3e33a0eff0198ed89cc94197cb21653bf1ca2 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 30 Dec 2014 15:35:00 +0100 Subject: fix formatting of overload signatures --- test/src/format/HtmlFormatTest.kt | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test/src') diff --git a/test/src/format/HtmlFormatTest.kt b/test/src/format/HtmlFormatTest.kt index a47b5774..881a7828 100644 --- a/test/src/format/HtmlFormatTest.kt +++ b/test/src/format/HtmlFormatTest.kt @@ -18,4 +18,10 @@ public class HtmlFormatTest { htmlService.appendNodes(tempLocation, output, model.members.single().members) } } + + Test fun overloads() { + verifyOutput("test/data/format/overloads.kt", ".html") { model, output -> + htmlService.appendNodes(tempLocation, output, model.members) + } + } } -- cgit