kt-go-split #1
@ -1,20 +1,15 @@
|
|||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.json.Json
|
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 moe.rosa.planterette.hakurei.*
|
||||||
import org.junit.jupiter.api.assertDoesNotThrow
|
import org.junit.jupiter.api.assertDoesNotThrow
|
||||||
import org.junit.jupiter.api.assertThrows
|
import kotlin.test.Test
|
||||||
import kotlin.test.assertFails
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertFailsWith
|
import kotlin.test.assertFailsWith
|
||||||
import kotlin.test.assertIs
|
import kotlin.test.assertIs
|
||||||
|
|
||||||
class HakureiTest {
|
class HakureiTest {
|
||||||
companion object {
|
companion object {
|
||||||
val CHROMIUM_TEMPLATE = HakureiConfig(
|
val TEMPLATE_DATA = HakureiConfig(
|
||||||
id = "org.chromium.Chromium",
|
id = "org.chromium.Chromium",
|
||||||
path = AbsolutePath("/run/current-system/sw/bin/chromium"),
|
path = AbsolutePath("/run/current-system/sw/bin/chromium"),
|
||||||
args = listOf(
|
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)
|
@OptIn(ExperimentalSerializationApi::class)
|
||||||
@Test
|
@Test
|
||||||
fun deserializeTest() {
|
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())
|
println(TEMPLATE_JSON)
|
||||||
assertEquals(CHROMIUM_TEMPLATE, want)
|
val want = format.decodeFromString<HakureiConfig>(TEMPLATE_JSON)
|
||||||
|
assertEquals(TEMPLATE_DATA, want)
|
||||||
}
|
}
|
||||||
@OptIn(ExperimentalSerializationApi::class)
|
@OptIn(ExperimentalSerializationApi::class)
|
||||||
@Test
|
@Test
|
||||||
fun serializeTest() {
|
fun serializeTest() {
|
||||||
val encoded = format.encodeToString(CHROMIUM_TEMPLATE)
|
val encoded = format.encodeToString(TEMPLATE_DATA)
|
||||||
val decoded = format.decodeFromString<HakureiConfig>(encoded)
|
val decoded = format.decodeFromString<HakureiConfig>(encoded)
|
||||||
assertEquals(CHROMIUM_TEMPLATE, decoded)
|
assertEquals(TEMPLATE_DATA, decoded)
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
fun absolutePathTest() {
|
fun absolutePathTest() {
|
||||||
@ -188,6 +192,6 @@ class HakureiTest {
|
|||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
fun extraPermsTest() {
|
fun extraPermsTest() {
|
||||||
assertIs<String>(CHROMIUM_TEMPLATE.extraPerms.toString())
|
assertIs<String>(TEMPLATE_DATA.extraPerms.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user