Fix ClsStubConsistencyTest: it didn't do anything after some previous changes

(cherry picked from commit f5af9fc)
This commit is contained in:
Pavel V. Talanov
2015-10-15 20:58:10 +03:00
committed by Dmitry Petrov
parent bb77890a4e
commit 9b7f22d2c7
3 changed files with 11 additions and 12 deletions
@@ -21,12 +21,12 @@ import org.jetbrains.kotlin.idea.decompiler.textBuilder.buildDecompiledText
import org.jetbrains.kotlin.idea.test.JetWithJdkAndRuntimeLightProjectDescriptor
import org.jetbrains.kotlin.load.kotlin.JvmVirtualFileFinder
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import kotlin.properties.Delegates
public class ClsStubConsistencyTest : StubConsistencyBaseTest() {
override fun getVirtualFileFinder(): VirtualFileFinder = JvmVirtualFileFinder.SERVICE.getInstance(getProject())
override fun getPackages(): List<FqName> = listOf(FqName("kotlin"))
override fun getFileIds(): List<ClassId> = listOf(ClassId.topLevel(FqName("kotlin.CollectionsKt")))
override fun createStubBuilder() = KotlinClsStubBuilder()
@@ -16,15 +16,14 @@
package org.jetbrains.kotlin.idea.decompiler.stubBuilder
import com.intellij.openapi.Disposable
import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.kotlin.idea.decompiler.textBuilder.buildDecompiledTextFromJsMetadata
import org.jetbrains.kotlin.idea.js.KotlinJavaScriptLibraryManager
import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor
import org.jetbrains.kotlin.idea.vfilefinder.JsVirtualFileFinder
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
import org.jetbrains.kotlin.name.FqName
import kotlin.properties.Delegates
public class KotlinJavaScriptStubConsistencyTest : StubConsistencyBaseTest() {
override fun setUp() {
@@ -32,9 +31,10 @@ public class KotlinJavaScriptStubConsistencyTest : StubConsistencyBaseTest() {
KotlinJavaScriptLibraryManager.getInstance(getProject()).syncUpdateProjectLibrary()
}
override fun getPackages(): List<FqName> = listOf(
override fun getFileIds() = listOf(
"java.util", "jquery", "jquery.ui",
"kotlin", "kotlin.browser", "kotlin.dom", "kotlin.js").map { FqName(it) }
"kotlin", "kotlin.browser", "kotlin.dom", "kotlin.js"
).map { PackageClassUtils.getPackageClassId(FqName(it)) }
override fun getVirtualFileFinder(): VirtualFileFinder =
JsVirtualFileFinder.SERVICE.getInstance(getProject())
@@ -20,16 +20,15 @@ import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.compiled.ClsStubBuilder
import com.intellij.util.indexing.FileContentImpl
import org.jetbrains.kotlin.idea.test.JetLightCodeInsightFixtureTestCase
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinder
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.psi.JetPsiFactory
import org.jetbrains.kotlin.psi.stubs.elements.JetFileStubBuilder
import org.junit.Assert
public abstract class StubConsistencyBaseTest : JetLightCodeInsightFixtureTestCase() {
protected abstract fun getPackages(): List<FqName>
protected abstract fun getFileIds(): List<ClassId>
protected abstract fun getVirtualFileFinder(): VirtualFileFinder
protected abstract fun createStubBuilder(): ClsStubBuilder
@@ -37,12 +36,12 @@ public abstract class StubConsistencyBaseTest : JetLightCodeInsightFixtureTestCa
protected abstract fun getDecompiledText(packageFile: VirtualFile): String
public fun testConsistency() {
getPackages().forEach { doTest(it) }
getFileIds().forEach { doTest(it) }
}
private fun doTest(packageFqName: FqName) {
private fun doTest(id: ClassId) {
val project = getProject()
val packageFile = getVirtualFileFinder().findVirtualFileWithHeader(PackageClassUtils.getPackageClassId(packageFqName))!!
val packageFile = getVirtualFileFinder().findVirtualFileWithHeader(id)!!
val decompiledText = getDecompiledText(packageFile)
val fileWithDecompiledText = JetPsiFactory(project).createFile(decompiledText)
val stubTreeFromDecompiledText = JetFileStubBuilder().buildStubTree(fileWithDecompiledText)