aboutsummaryrefslogtreecommitdiff
path: root/test/src/model
diff options
context:
space:
mode:
Diffstat (limited to 'test/src/model')
-rw-r--r--test/src/model/ClassTest.kt123
-rw-r--r--test/src/model/FunctionTest.kt43
-rw-r--r--test/src/model/PackageTest.kt46
-rw-r--r--test/src/model/PropertyTest.kt90
4 files changed, 302 insertions, 0 deletions
diff --git a/test/src/model/ClassTest.kt b/test/src/model/ClassTest.kt
new file mode 100644
index 00000000..708a1798
--- /dev/null
+++ b/test/src/model/ClassTest.kt
@@ -0,0 +1,123 @@
+package org.jetbrains.dokka.tests
+
+import org.junit.Test
+import kotlin.test.*
+import org.jetbrains.dokka.*
+
+public class ClassTest {
+ Test fun emptyClass() {
+ verifyModel("test/data/classes/emptyClass.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals(DocumentationNodeKind.Class, kind)
+ assertEquals("Klass", name)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertEquals("<init>", members.single().name)
+ assertTrue(links.none())
+ }
+ }
+ }
+
+ Test fun emptyObject() {
+ verifyModel("test/data/classes/emptyObject.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals(DocumentationNodeKind.Object, kind)
+ assertEquals("Obj", name)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+
+ Test fun classWithConstructor() {
+ verifyModel("test/data/classes/classWithConstructor.kt") { model ->
+ with (model.nodes.single().members.single()) {
+ assertEquals(DocumentationNodeKind.Class, kind)
+ assertEquals("Klass", name)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+
+ assertEquals(1, members.count())
+ with(members.elementAt(0)) {
+ assertEquals("<init>", name)
+ assertEquals("", doc)
+ assertEquals(DocumentationNodeKind.Constructor, kind)
+ assertEquals(1, details.count())
+ with(details.elementAt(0)) {
+ assertEquals("name", name)
+ assertEquals(DocumentationNodeKind.Parameter, kind)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+ assertTrue(members.none())
+ }
+ assertTrue(links.none())
+ assertTrue(members.none())
+ }
+ }
+ }
+ }
+
+ Test fun classWithFunction() {
+ verifyModel("test/data/classes/classWithFunction.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals(DocumentationNodeKind.Class, kind)
+ assertEquals("Klass", name)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+
+ assertEquals(2, members.count())
+ with(members.elementAt(0)) {
+ assertEquals("<init>", name)
+ assertEquals("", doc)
+ assertEquals(DocumentationNodeKind.Constructor, kind)
+ assertTrue(details.none())
+ assertTrue(links.none())
+ assertTrue(members.none())
+ }
+ with(members.elementAt(1)) {
+ assertEquals("fn", name)
+ assertEquals("", doc)
+ assertEquals(DocumentationNodeKind.Function, kind)
+ assertTrue(details.none())
+ assertTrue(links.none())
+ assertTrue(members.none())
+ }
+ }
+ }
+ }
+
+ Test fun classWithProperty() {
+ verifyModel("test/data/classes/classWithProperty.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals(DocumentationNodeKind.Class, kind)
+ assertEquals("Klass", name)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+
+ assertEquals(2, members.count())
+ with(members.elementAt(0)) {
+ assertEquals("<init>", name)
+ assertEquals("", doc)
+ assertEquals(DocumentationNodeKind.Constructor, kind)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ with(members.elementAt(1)) {
+ assertEquals("name", name)
+ assertEquals("", doc)
+ assertEquals(DocumentationNodeKind.Property, kind)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/test/src/model/FunctionTest.kt b/test/src/model/FunctionTest.kt
new file mode 100644
index 00000000..90b937de
--- /dev/null
+++ b/test/src/model/FunctionTest.kt
@@ -0,0 +1,43 @@
+package org.jetbrains.dokka.tests
+
+import org.junit.Test
+import kotlin.test.*
+import org.jetbrains.dokka.*
+
+public class FunctionTest {
+ Test fun function() {
+ verifyModel("test/data/functions/function.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals("fn", name)
+ assertEquals(DocumentationNodeKind.Function, kind)
+ assertEquals("Function fn", doc)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+
+ Test fun functionWithParams() {
+ verifyModel("test/data/functions/functionWithParams.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals("function", name)
+ assertEquals(DocumentationNodeKind.Function, kind)
+ assertEquals("""Multiline
+Function
+Documentation"""
+ , doc)
+ with(details.single()) {
+ assertEquals("x", name)
+ assertEquals(DocumentationNodeKind.Parameter, kind)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/test/src/model/PackageTest.kt b/test/src/model/PackageTest.kt
new file mode 100644
index 00000000..7b376012
--- /dev/null
+++ b/test/src/model/PackageTest.kt
@@ -0,0 +1,46 @@
+package org.jetbrains.dokka.tests
+
+import org.junit.Test
+import kotlin.test.*
+import org.jetbrains.dokka.*
+
+public class PackageTest {
+ Test fun rootPackage() {
+ verifyModel("test/data/packages/rootPackage.kt") { model ->
+ with(model.nodes.single()) {
+ assertEquals(DocumentationNodeKind.Package, kind)
+ assertEquals("", name)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+
+ Test fun simpleNamePackage() {
+ verifyModel("test/data/packages/simpleNamePackage.kt") { model ->
+ with(model.nodes.single()) {
+ assertEquals(DocumentationNodeKind.Package, kind)
+ assertEquals("simple", name)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+
+ Test fun dottedNamePackage() {
+ verifyModel("test/data/packages/dottedNamePackage.kt") { model ->
+ with(model.nodes.single()) {
+ assertEquals(DocumentationNodeKind.Package, kind)
+ assertEquals("dot.name", name)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/test/src/model/PropertyTest.kt b/test/src/model/PropertyTest.kt
new file mode 100644
index 00000000..1d30f2ce
--- /dev/null
+++ b/test/src/model/PropertyTest.kt
@@ -0,0 +1,90 @@
+package org.jetbrains.dokka.tests
+
+import org.junit.Test
+import kotlin.test.*
+import org.jetbrains.dokka.*
+
+public class PropertyTest {
+ Test fun valueProperty() {
+ verifyModel("test/data/properties/valueProperty.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals("property", name)
+ assertEquals(DocumentationNodeKind.Property, kind)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+
+ Test fun variableProperty() {
+ verifyModel("test/data/properties/variableProperty.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals("property", name)
+ assertEquals(DocumentationNodeKind.Property, kind)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(members.none())
+ assertTrue(links.none())
+ }
+ }
+ }
+
+ Test fun valuePropertyWithGetter() {
+ verifyModel("test/data/properties/valuePropertyWithGetter.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals("property", name)
+ assertEquals(DocumentationNodeKind.Property, kind)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+ with(members.single()) {
+ assertEquals("<get-property>", name)
+ assertEquals(DocumentationNodeKind.Function, kind)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+ assertTrue(members.none())
+ }
+ }
+ }
+ }
+
+ Test fun variablePropertyWithAccessors() {
+ verifyModel("test/data/properties/variablePropertyWithAccessors.kt") { model ->
+ with(model.nodes.single().members.single()) {
+ assertEquals("property", name)
+ assertEquals(DocumentationNodeKind.Property, kind)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+
+ assertEquals(2, members.count())
+ with(members.elementAt(0)) {
+ assertEquals("<get-property>", name)
+ assertEquals(DocumentationNodeKind.Function, kind)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+ assertTrue(members.none())
+ }
+ with(members.elementAt(1)) {
+ assertEquals("<set-property>", name)
+ assertEquals(DocumentationNodeKind.Function, kind)
+ assertEquals("", doc)
+ with(details.single()) {
+ assertEquals("value", name)
+ assertEquals(DocumentationNodeKind.Parameter, kind)
+ assertEquals("", doc)
+ assertTrue(details.none())
+ assertTrue(links.none())
+ assertTrue(members.none())
+ }
+ assertTrue(links.none())
+ assertTrue(members.none())
+ }
+ }
+ }
+ }
+}