kt-go-split #1
@ -1,20 +1,15 @@
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.decodeFromStream
|
||||
import java.io.File
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
import moe.rosa.planterette.hakurei.*
|
||||
import org.junit.jupiter.api.assertDoesNotThrow
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import kotlin.test.assertFails
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertFailsWith
|
||||
import kotlin.test.assertIs
|
||||
|
||||
class HakureiTest {
|
||||
companion object {
|
||||
val CHROMIUM_TEMPLATE = HakureiConfig(
|
||||
val TEMPLATE_DATA = HakureiConfig(
|
||||
id = "org.chromium.Chromium",
|
||||
path = AbsolutePath("/run/current-system/sw/bin/chromium"),
|
||||
args = listOf(
|
||||
@ -159,22 +154,31 @@ class HakureiTest {
|
||||
)
|
||||
)
|
||||
)
|
||||
val format = Json { prettyPrint = true }
|
||||
val TEMPLATE_JSON = ProcessBuilder("hakurei", "template")
|
||||
.start()
|
||||
.inputStream
|
||||
.readAllBytes()
|
||||
.toString(Charsets.UTF_8)
|
||||
val format = Json {
|
||||
prettyPrint = true
|
||||
ignoreUnknownKeys = true
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalSerializationApi::class)
|
||||
@Test
|
||||
fun deserializeTest() {
|
||||
println(System.getProperty("user.dir"))
|
||||
val want = format.decodeFromStream<HakureiConfig>(File("/home/mae/Documents/Projects/Rosa/planterette/src/test/resources/hakurei-chromium.json").inputStream())
|
||||
assertEquals(CHROMIUM_TEMPLATE, want)
|
||||
|
||||
println(TEMPLATE_JSON)
|
||||
val want = format.decodeFromString<HakureiConfig>(TEMPLATE_JSON)
|
||||
assertEquals(TEMPLATE_DATA, want)
|
||||
}
|
||||
@OptIn(ExperimentalSerializationApi::class)
|
||||
@Test
|
||||
fun serializeTest() {
|
||||
val encoded = format.encodeToString(CHROMIUM_TEMPLATE)
|
||||
val encoded = format.encodeToString(TEMPLATE_DATA)
|
||||
val decoded = format.decodeFromString<HakureiConfig>(encoded)
|
||||
assertEquals(CHROMIUM_TEMPLATE, decoded)
|
||||
assertEquals(TEMPLATE_DATA, decoded)
|
||||
}
|
||||
@Test
|
||||
fun absolutePathTest() {
|
||||
@ -188,6 +192,6 @@ class HakureiTest {
|
||||
}
|
||||
@Test
|
||||
fun extraPermsTest() {
|
||||
assertIs<String>(CHROMIUM_TEMPLATE.extraPerms.toString())
|
||||
assertIs<String>(TEMPLATE_DATA.extraPerms.toString())
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user