<lambda>null1 package org.jetbrains.dokka.tests
2 
3 import org.jetbrains.dokka.ContentBlock
4 import org.jetbrains.dokka.ContentNodeLazyLink
5 import org.jetbrains.dokka.NodeKind
6 import org.junit.Assert.assertEquals
7 import org.junit.Test
8 
9 class LinkTest {
10     @Test fun linkToSelf() {
11         verifyModel("testdata/links/linkToSelf.kt") { model ->
12             with(model.members.single().members.single()) {
13                 assertEquals("Foo", name)
14                 assertEquals(NodeKind.Class, kind)
15                 assertEquals("This is link to [Foo -> Class:Foo]", content.summary.toTestString())
16             }
17         }
18     }
19 
20     @Test fun linkToMember() {
21         verifyModel("testdata/links/linkToMember.kt") { model ->
22             with(model.members.single().members.single()) {
23                 assertEquals("Foo", name)
24                 assertEquals(NodeKind.Class, kind)
25                 assertEquals("This is link to [member -> Function:member]", content.summary.toTestString())
26             }
27         }
28     }
29 
30     @Test fun linkToConstantWithUnderscores() {
31         verifyModel("testdata/links/linkToConstantWithUnderscores.kt") { model ->
32             with(model.members.single().members.single()) {
33                 assertEquals("Foo", name)
34                 assertEquals(NodeKind.Class, kind)
35                 assertEquals("This is link to [MY_CONSTANT_VALUE -> CompanionObjectProperty:MY_CONSTANT_VALUE]", content.summary.toTestString())
36             }
37         }
38     }
39 
40     @Test fun linkToQualifiedMember() {
41         verifyModel("testdata/links/linkToQualifiedMember.kt") { model ->
42             with(model.members.single().members.single()) {
43                 assertEquals("Foo", name)
44                 assertEquals(NodeKind.Class, kind)
45                 assertEquals("This is link to [Foo.member -> Function:member]", content.summary.toTestString())
46             }
47         }
48     }
49 
50     @Test fun linkToParam() {
51         verifyModel("testdata/links/linkToParam.kt") { model ->
52             with(model.members.single().members.single()) {
53                 assertEquals("Foo", name)
54                 assertEquals(NodeKind.Function, kind)
55                 assertEquals("This is link to [param -> Parameter:param]", content.summary.toTestString())
56             }
57         }
58     }
59 
60     @Test fun linkToPackage() {
61         verifyModel("testdata/links/linkToPackage.kt") { model ->
62             val packageNode = model.members.single()
63             with(packageNode) {
64                 assertEquals(this.name, "test.magic")
65             }
66             with(packageNode.members.single()) {
67                 assertEquals("Magic", name)
68                 assertEquals(NodeKind.Class, kind)
69                 assertEquals("Basic implementations of [Magic -> Class:Magic] are located in [test.magic -> Package:test.magic] package", content.summary.toTestString())
70                 assertEquals(packageNode, ((this.content.summary as ContentBlock).children.filterIsInstance<ContentNodeLazyLink>().last()).lazyNode.invoke())
71             }
72         }
73     }
74 
75 }