add android properties box tests

This commit is contained in:
Mikhail Mutcianko
2014-08-27 15:45:29 +04:00
committed by Yan Zhulanow
parent f2ab424c41
commit 08245ffe1c
17 changed files with 326 additions and 82 deletions
@@ -29,20 +29,33 @@ import kotlin.test.assertEquals
import org.jetbrains.jet.plugin.android.TestConst
import com.intellij.testFramework.LightCodeInsightTestCase
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
import org.jetbrains.jet.plugin.PluginTestCaseBase
import org.jetbrains.jet.test.TestMetadata
import org.jetbrains.jet.plugin.JetLightCodeInsightFixtureTestCase
import com.intellij.ide.startup.impl.StartupManagerImpl
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess
import org.jetbrains.jet.JetTestCaseBuilder
import com.intellij.openapi.startup.StartupManager
public abstract class AbstractCrossParserTest : LightCodeInsightFixtureTestCase() {
public fun doTest(path: String) {
val jetCoreEnvironment = getEnvironment(path)
val project = jetCoreEnvironment.getProject()
val project = myFixture.getProject()
project.putUserData(TestConst.TESTDATA_PATH, path)
val cliParser = CliAndroidUIXmlProcessor(jetCoreEnvironment.getProject(), path + "/layout", path + "AndroidManifest.xml")
val ideParser = IDEAndroidUIXmlProcessor(jetCoreEnvironment.getProject())
myFixture.copyDirectoryToProject(getTestName(true), "")
val cliParser = CliAndroidUIXmlProcessor(project, path + "/layout", path + "AndroidManifest.xml")
val ideParser = IDEAndroidUIXmlProcessor(project)
val cliResult = cliParser.parseToPsi(project)!!.getText()
val ideResult = ideParser.parseToPsi(project)!!.getText()
assertEquals(cliResult, ideResult)
}
override fun setUp() {
super.setUp()
myFixture.setTestDataPath(PluginTestCaseBase.getTestDataPathBase() + "/android/crossParser")
(StartupManager.getInstance(getProject()) as StartupManagerImpl).runPostStartupActivities()
VfsRootAccess.allowRootAccess(JetTestCaseBuilder.getHomeDirectory())
}
private fun getEnvironment(testPath: String): JetCoreEnvironment {
val configuration = JetTestUtils.compilerConfigurationForTests(ConfigurationKind.ALL, TestJdkKind.MOCK_JDK)
@@ -50,4 +63,7 @@ public abstract class AbstractCrossParserTest : LightCodeInsightFixtureTestCase(
configuration.put<String>(JVMConfigurationKeys.ANDROID_MANIFEST, testPath + "/AndroidManifest.xml")
return JetCoreEnvironment.createForTests(getTestRootDisposable()!!, configuration)
}
override fun getTestDataPath(): String? {
return PluginTestCaseBase.getTestDataPathBase() + "/android/crossParser/"
}
}