diff --git a/build.gradle b/build.gradle index a6d7dd3..7f911ad 100644 --- a/build.gradle +++ b/build.gradle @@ -97,5 +97,7 @@ compileTestKotlin { implementation group: 'junit', name: 'junit', version: '4.12' implementation 'com.github.seeseemelk:MockBukkit:v1.16-SNAPSHOT' implementation 'io.kotest:kotest-runner-junit5:4.3.2' + implementation 'io.mockk:mockk:1.10.6' + implementation "org.dynmap:dynmap-api:2.0" } } \ No newline at end of file diff --git a/src/main/kotlin/net/trivernis/chunkmaster/Chunkmaster.kt b/src/main/kotlin/net/trivernis/chunkmaster/Chunkmaster.kt index 65ceecf..e6ec5fe 100644 --- a/src/main/kotlin/net/trivernis/chunkmaster/Chunkmaster.kt +++ b/src/main/kotlin/net/trivernis/chunkmaster/Chunkmaster.kt @@ -6,12 +6,16 @@ import net.trivernis.chunkmaster.lib.LanguageManager import net.trivernis.chunkmaster.lib.database.SqliteManager import net.trivernis.chunkmaster.lib.generation.GenerationManager import org.bstats.bukkit.Metrics +import org.bukkit.plugin.PluginDescriptionFile import org.bukkit.plugin.java.JavaPlugin +import org.bukkit.plugin.java.JavaPluginLoader import org.bukkit.scheduler.BukkitTask import org.dynmap.DynmapAPI +import java.io.File import java.lang.IllegalStateException +import javax.annotation.ParametersAreNonnullByDefault -class Chunkmaster : JavaPlugin() { +open class Chunkmaster : JavaPlugin() { lateinit var sqliteManager: SqliteManager lateinit var generationManager: GenerationManager lateinit var langManager: LanguageManager diff --git a/src/test/kotlin/net/trivernis/chunkmaster/LanguageManagerTest.kt b/src/test/kotlin/net/trivernis/chunkmaster/LanguageManagerTest.kt new file mode 100644 index 0000000..9f096b9 --- /dev/null +++ b/src/test/kotlin/net/trivernis/chunkmaster/LanguageManagerTest.kt @@ -0,0 +1,28 @@ +package net.trivernis.chunkmaster +import io.kotest.matchers.string.shouldNotBeEmpty +import io.mockk.every +import io.mockk.mockk +import net.trivernis.chunkmaster.lib.LanguageManager +import org.bukkit.configuration.file.FileConfiguration +import org.junit.Test + +class LanguageManagerTest { + private var langManager: LanguageManager + + init { + val plugin = mockk() + val config = mockk() + + every {plugin.dataFolder} returns createTempDir() + every {plugin.config} returns config + every {config.getString("language")} returns "en" + + langManager = LanguageManager(plugin) + langManager.loadProperties() + } + + @Test + fun `it returns localized for a key`() { + langManager.getLocalized("NOT_PAUSED").shouldNotBeEmpty() + } +} \ No newline at end of file