From 13edb873db122e2088207ca10b94382e30875636 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Thu, 16 Jul 2020 10:24:02 +0200 Subject: Use jackson for json serialization and parsing --- .../kotlin/utilities/DokkaConfigurationJsonTest.kt | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt (limited to 'core/src/test/kotlin/utilities') diff --git a/core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt b/core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt new file mode 100644 index 00000000..d0cb55a1 --- /dev/null +++ b/core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt @@ -0,0 +1,68 @@ +package utilities + +import org.jetbrains.dokka.* +import java.io.File +import kotlin.test.Test +import kotlin.test.assertEquals + +class DokkaConfigurationJsonTest { + @Test + fun `simple configuration toJsonString then parseJson`() { + val configuration = DokkaConfigurationImpl( + outputDir = "customOutputDir", + pluginsClasspath = listOf(File("plugins/customPlugin.jar")), + sourceSets = listOf( + DokkaSourceSetImpl( + moduleDisplayName = "customModuleDisplayName", + sourceRoots = listOf(SourceRootImpl("customSourceRoot")), + sourceSetID = DokkaSourceSetID("customModuleName", "customSourceSetName") + ) + ) + ) + + val jsonString = configuration.toJsonString() + val parsedConfiguration = DokkaConfigurationImpl(jsonString) + assertEquals(configuration, parsedConfiguration) + } + + @Test + fun `parse simple configuration json`() { + val json = """ + { + "outputDir": "customOutputDir", + "pluginsClasspath": [ "plugins/customPlugin.jar" ], + "sourceSets": [ + { + "moduleDisplayName": "customModuleDisplayName", + "sourceSetID": { + "moduleName": "customModuleName", + "sourceSetName": "customSourceSetName" + }, + "classpath": [], + "sourceRoots": [ + { + "path": "customSourceRoot" + } + ] + } + ] + } + """.trimIndent() + + val parsedConfiguration = DokkaConfigurationImpl(json) + assertEquals( + DokkaConfigurationImpl( + outputDir = "customOutputDir", + pluginsClasspath = listOf(File("plugins/customPlugin.jar")), + sourceSets = listOf( + DokkaSourceSetImpl( + moduleDisplayName = "customModuleDisplayName", + sourceRoots = listOf(SourceRootImpl("customSourceRoot")), + sourceSetID = DokkaSourceSetID("customModuleName", "customSourceSetName") + ) + ) + ), + parsedConfiguration + ) + } +} -- cgit