/
StdlibGradleIntegrationTest.kt
62 lines (51 loc) · 2.23 KB
/
StdlibGradleIntegrationTest.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package org.jetbrains.dokka.it.gradle.kotlin
import org.gradle.testkit.runner.TaskOutcome
import org.jetbrains.dokka.it.S3Project
import org.jetbrains.dokka.it.copyAndApplyGitDiff
import org.jetbrains.dokka.it.gradle.AbstractGradleIntegrationTest
import org.jetbrains.dokka.it.gradle.BuildVersions
import org.junit.runners.Parameterized
import java.io.File
import kotlin.test.*
class StdlibGradleIntegrationTest(override val versions: BuildVersions) : AbstractGradleIntegrationTest(),
S3Project {
companion object {
@get:JvmStatic
@get:Parameterized.Parameters(name = "{0}")
val versions = BuildVersions.permutations(
gradleVersions = listOf("5.6"),
kotlinVersions = listOf("1.4.10")
)
}
override val projectOutputLocation: File by lazy { File(projectDir, "build/dokka/kotlin-stdlib") }
@BeforeTest
fun prepareProjectFiles() {
val templateProjectDir = File("projects", "stdlib/kotlin-dokka-stdlib")
templateProjectDir.listFiles().orEmpty()
.forEach { topLevelFile -> topLevelFile.copyRecursively(File(projectDir, topLevelFile.name)) }
val pluginDir = File("projects", "stdlib/dokka-samples-transformer-plugin")
pluginDir.listFiles().orEmpty()
.forEach { topLevelFile ->
topLevelFile.copyRecursively(
File(
projectDir.resolve("dokka-samples-transformer-plugin").also { it.mkdir() }, topLevelFile.name
)
)
}
copyAndApplyGitDiff(File("projects", "stdlib/stdlib.diff"))
}
@Test
fun execute() {
val result = createGradleRunner("callDokka", "-i", "-s").buildRelaxed()
assertEquals(TaskOutcome.SUCCESS, assertNotNull(result.task(":callDokka")).outcome)
assertTrue(projectOutputLocation.isDirectory, "Missing dokka output directory")
projectOutputLocation.allHtmlFiles().forEach { file ->
assertContainsNoErrorClass(file)
assertNoUnresolvedLinks(file)
assertNoHrefToMissingLocalFileOrDirectory(file)
assertNoEmptyLinks(file)
assertNoEmptySpans(file)
assertNoUnsubstitutedTemplatesInHtml(file)
}
}
}