You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.3 KiB
40 lines
1.3 KiB
package org.jetbrains.plugins.template
|
|
|
|
import com.intellij.ide.highlighter.XmlFileType
|
|
import com.intellij.openapi.components.service
|
|
import com.intellij.psi.xml.XmlFile
|
|
import com.intellij.testFramework.TestDataPath
|
|
import com.intellij.testFramework.fixtures.BasePlatformTestCase
|
|
import com.intellij.util.PsiErrorElementUtil
|
|
import org.jetbrains.plugins.template.services.MyProjectService
|
|
|
|
@TestDataPath("\$CONTENT_ROOT/src/test/testData")
|
|
class MyPluginTest : BasePlatformTestCase() {
|
|
|
|
fun testXMLFile() {
|
|
val psiFile = myFixture.configureByText(XmlFileType.INSTANCE, "<foo>bar</foo>")
|
|
val xmlFile = assertInstanceOf(psiFile, XmlFile::class.java)
|
|
|
|
assertFalse(PsiErrorElementUtil.hasErrors(project, xmlFile.virtualFile))
|
|
|
|
assertNotNull(xmlFile.rootTag)
|
|
|
|
xmlFile.rootTag?.let {
|
|
assertEquals("foo", it.name)
|
|
assertEquals("bar", it.value.text)
|
|
}
|
|
}
|
|
|
|
fun testRename() {
|
|
myFixture.testRename("foo.xml", "foo_after.xml", "a2")
|
|
}
|
|
|
|
fun testProjectService() {
|
|
val projectService = project.service<MyProjectService>()
|
|
|
|
assertNotSame(projectService.getRandomNumber(), projectService.getRandomNumber())
|
|
}
|
|
|
|
override fun getTestDataPath() = "src/test/testData/rename"
|
|
}
|