2017-08-06 00:28:51 +08:00
|
|
|
package io.neoterm
|
|
|
|
|
2017-08-09 02:38:06 +08:00
|
|
|
import io.neoterm.customize.color.NeoColorScheme
|
2017-08-09 02:50:36 +08:00
|
|
|
import io.neoterm.customize.config.ConfigureService
|
2017-08-09 04:27:31 +08:00
|
|
|
import io.neolang.visitor.ConfigVisitor
|
2017-08-06 00:28:51 +08:00
|
|
|
import io.neoterm.frontend.config.NeoConfigureFile
|
2017-08-09 02:50:36 +08:00
|
|
|
import io.neoterm.frontend.service.ServiceManager
|
2017-08-06 00:28:51 +08:00
|
|
|
import org.junit.Test
|
2017-08-08 16:04:22 +08:00
|
|
|
import java.io.File
|
2017-08-06 00:28:51 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @author kiva
|
|
|
|
*/
|
|
|
|
class ConfigureFileTest {
|
2017-08-09 02:38:06 +08:00
|
|
|
private fun parseConfigure(filePath: String): ConfigVisitor? {
|
2017-08-08 16:04:22 +08:00
|
|
|
val config = NeoConfigureFile(File(filePath))
|
2017-08-06 00:28:51 +08:00
|
|
|
if (config.parseConfigure()) {
|
|
|
|
val visitor = config.getVisitor()
|
2017-08-09 02:38:06 +08:00
|
|
|
return visitor
|
2017-08-06 00:28:51 +08:00
|
|
|
}
|
2017-08-09 02:38:06 +08:00
|
|
|
return null
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun colorConfigureTest() {
|
2017-08-09 04:27:31 +08:00
|
|
|
try {
|
|
|
|
ServiceManager.registerService(ConfigureService::class.java)
|
|
|
|
} catch (ignore: Throwable) {
|
|
|
|
}
|
|
|
|
|
2017-08-09 02:50:36 +08:00
|
|
|
val color = NeoColorScheme()
|
|
|
|
if (color.loadConfigure(File("NeoLang/example/color-scheme.nl"))) {
|
|
|
|
println("colorName: ${color.colorName}")
|
|
|
|
println("colorVersion: ${color.colorVersion}")
|
|
|
|
println("background: ${color.backgroundColor}")
|
|
|
|
println("foreground: ${color.foregroundColor}")
|
|
|
|
println("color1: ${color.color[1]}")
|
|
|
|
println("color2: ${color.color[2]}")
|
2017-08-09 02:38:06 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun extraKeyConfigureTest() {
|
2017-08-09 04:27:31 +08:00
|
|
|
val visitor = parseConfigure("NeoLang/example/extra-key.nl")
|
|
|
|
if (visitor != null) {
|
|
|
|
val programs = visitor.getArray(arrayOf("extra-key"), "program")
|
|
|
|
programs.forEachIndexed { index, element ->
|
|
|
|
println("program[$index]: ${element.eval().asString()}")
|
|
|
|
}
|
|
|
|
|
|
|
|
val keys = visitor.getArray(arrayOf("extra-key"), "key")
|
|
|
|
keys.forEachIndexed { index, element ->
|
|
|
|
if (element.isBlock()) {
|
|
|
|
println("key[$index]: " +
|
|
|
|
"display: ${element.eval("display").asString()}, " +
|
|
|
|
"code: ${element.eval("code").asString()}")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2017-08-06 00:28:51 +08:00
|
|
|
}
|
2017-08-08 16:04:22 +08:00
|
|
|
|
|
|
|
@Test
|
|
|
|
fun configureFileTest() {
|
2017-08-09 02:38:06 +08:00
|
|
|
colorConfigureTest()
|
|
|
|
extraKeyConfigureTest()
|
2017-08-08 16:04:22 +08:00
|
|
|
}
|
2017-08-06 00:28:51 +08:00
|
|
|
}
|