Enable JDK 8 level in some tests for correct convert for method references

This commit is contained in:
Nikolay Krasko
2016-05-04 19:38:18 +03:00
parent 12c9a97587
commit 527907635d
2 changed files with 9 additions and 2 deletions
@@ -51,8 +51,8 @@ internal class Java8Class {
fun testMemberFunctionThroughClass() {
val memberFunFromClass = JFunction2<Java8Class, Int> { it.memberFun() }
memberFunFromClass.foo(Java8Class())
MethodReferenceHelperClass.staticFun2(JFunction2<Any, Any> { memberFun() })
h.memberFun2(JFunction2<Any, Any> { memberFun() })
MethodReferenceHelperClass.staticFun2(JFunction2<Java8Class, Int> { it.memberFun() })
h.memberFun2(JFunction2<Java8Class, Int> { it.memberFun() })
}
fun testMemberFunctionThroughObject() {
@@ -16,9 +16,11 @@
package org.jetbrains.kotlin.j2k
import com.intellij.openapi.roots.LanguageLevelProjectExtension
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.LightPlatformTestCase
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.test.invalidateLibraryCache
@@ -30,6 +32,11 @@ abstract class AbstractJavaToKotlinConverterTest : LightCodeInsightFixtureTestCa
override fun setUp() {
super.setUp()
val testName = getTestName(false)
if (testName.contains("Java8") || testName.contains("java8")) {
LanguageLevelProjectExtension.getInstance(project).languageLevel = LanguageLevel.JDK_1_8
}
VfsRootAccess.allowRootAccess(KotlinTestUtils.getHomeDirectory())
invalidateLibraryCache(project)