/* * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ package model import org.jetbrains.dokka.model.DPackage import utils.AbstractModelTest import kotlin.test.Test class PackagesTest : AbstractModelTest("/src/main/kotlin/packages/Test.kt", "packages") { @Test fun rootPackage() { inlineModelTest( """ | """.trimIndent(), prependPackage = false, configuration = dokkaConfiguration { sourceSets { sourceSet { sourceRoots = listOf("src/main/kotlin") displayName = "JVM" } } } ) { with((this / "[root]").cast()) { packageName equals "" children counts 0 } } } @Test fun simpleNamePackage() { inlineModelTest( """ |package simple """.trimIndent(), prependPackage = false ) { with((this / "simple").cast()) { packageName equals "simple" children counts 0 } } } @Test fun dottedNamePackage() { inlineModelTest( """ |package dot.name """.trimIndent(), prependPackage = false ) { with((this / "dot.name").cast()) { packageName equals "dot.name" children counts 0 } } } @Test fun multipleFiles() { inlineModelTest( """ |package dot.name |/src/main/kotlin/packages/Test2.kt |package simple """.trimIndent(), prependPackage = false ) { children counts 2 with((this / "dot.name").cast()) { packageName equals "dot.name" children counts 0 } with((this / "simple").cast()) { packageName equals "simple" children counts 0 } } } @Test fun multipleFilesSamePackage() { inlineModelTest( """ |package simple |/src/main/kotlin/packages/Test2.kt |package simple """.trimIndent(), prependPackage = false ) { children counts 1 with((this / "simple").cast()) { packageName equals "simple" children counts 0 } } } @Test fun classAtPackageLevel() { inlineModelTest( """ |package simple.name | |class Foo {} """.trimIndent(), prependPackage = false ) { with((this / "simple.name").cast()) { packageName equals "simple.name" children counts 1 } } } }