mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-07 05:09:37 +07:00
project configuration dsl: state reader
GitOrigin-RevId: d477fde05a6722e60c277ee53eced3cea6b41772
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3590278d34
commit
bb260c8522
40
plugins/configuration-script/test/ComponentStateTest.kt
Normal file
40
plugins/configuration-script/test/ComponentStateTest.kt
Normal file
@@ -0,0 +1,40 @@
|
||||
package com.intellij.configurationScript
|
||||
|
||||
import com.intellij.configurationScript.providers.readComponentConfiguration
|
||||
import com.intellij.openapi.components.BaseState
|
||||
import com.intellij.testFramework.ProjectRule
|
||||
import com.intellij.testFramework.assertions.Assertions.assertThat
|
||||
import org.intellij.lang.annotations.Language
|
||||
import org.junit.ClassRule
|
||||
import org.junit.Test
|
||||
|
||||
class ComponentStateTest {
|
||||
companion object {
|
||||
@JvmField
|
||||
@ClassRule
|
||||
val projectRule = ProjectRule()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun read() {
|
||||
val result = doReadComponentConfiguration("versionControl.git", """
|
||||
versionControl:
|
||||
git:
|
||||
updateMethod: rebase
|
||||
""")
|
||||
assertThat(result!!.updateMethod).isEqualTo(UpdateMethod.REBASE)
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("SameParameterValue")
|
||||
private fun doReadComponentConfiguration(namePath: String, @Language("YAML") data: String): TestState? {
|
||||
return readComponentConfiguration(findValueNodeByPath(namePath, doRead(data.trimIndent().reader())!!)!!, TestState::class.java)
|
||||
}
|
||||
|
||||
private class TestState : BaseState() {
|
||||
var updateMethod by enum(UpdateMethod.BRANCH_DEFAULT)
|
||||
}
|
||||
|
||||
private enum class UpdateMethod {
|
||||
BRANCH_DEFAULT, MERGE, REBASE
|
||||
}
|
||||
Reference in New Issue
Block a user