Files
openide/plugins/configuration-script/test/ComponentStateTest.kt
Vladimir Krivosheev 2c31a6a3e4 IDEA-225301 Configure inspections via intellij configuration file
GitOrigin-RevId: 42d69e26985a7e01f9efecf3081c1e0eaf86ad4f
2019-10-22 12:11:28 +00:00

40 lines
1.1 KiB
Kotlin

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())!!.value)!!, TestState::class.java)
}
private class TestState : BaseState() {
var updateMethod by enum(UpdateMethod.BRANCH_DEFAULT)
}
private enum class UpdateMethod {
BRANCH_DEFAULT, MERGE, REBASE
}