FIR IDE: Allow FIR-specific "after" files for
AbstractHighLevelQuickFixTest.
This commit is contained in:
committed by
Ilya Kirillov
parent
14ca2d207d
commit
e9298d1d71
+12
-1
@@ -7,7 +7,9 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
|
|
||||||
import com.intellij.codeInsight.intention.IntentionAction
|
import com.intellij.codeInsight.intention.IntentionAction
|
||||||
import com.intellij.codeInspection.InspectionProfileEntry
|
import com.intellij.codeInspection.InspectionProfileEntry
|
||||||
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
import org.jetbrains.kotlin.test.uitls.IgnoreTests
|
import org.jetbrains.kotlin.test.uitls.IgnoreTests
|
||||||
|
import java.io.File
|
||||||
import java.nio.file.Paths
|
import java.nio.file.Paths
|
||||||
|
|
||||||
|
|
||||||
@@ -15,7 +17,7 @@ abstract class AbstractHighLevelQuickFixTest : AbstractQuickFixTest() {
|
|||||||
override fun doTest(beforeFileName: String) {
|
override fun doTest(beforeFileName: String) {
|
||||||
IgnoreTests.runTestIfEnabledByFileDirective(
|
IgnoreTests.runTestIfEnabledByFileDirective(
|
||||||
Paths.get(beforeFileName),
|
Paths.get(beforeFileName),
|
||||||
enableTestDirective = IgnoreTests.DIRECTIVES.FIR_COMPARISON_MUTLTILINE_COMMENT,
|
enableTestDirective = IgnoreTests.DIRECTIVES.FIR_COMPARISON_MULTILINE_COMMENT,
|
||||||
directivePosition = IgnoreTests.DirectivePosition.LAST_LINE_IN_FILE,
|
directivePosition = IgnoreTests.DirectivePosition.LAST_LINE_IN_FILE,
|
||||||
additionalFilesExtensions = arrayOf("after")
|
additionalFilesExtensions = arrayOf("after")
|
||||||
) {
|
) {
|
||||||
@@ -23,6 +25,15 @@ abstract class AbstractHighLevelQuickFixTest : AbstractQuickFixTest() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getAfterFileName(beforeFileName: String): String {
|
||||||
|
val firAfterFile = File(testPath(beforeFileName + ".fir.after"))
|
||||||
|
return if (firAfterFile.exists()) {
|
||||||
|
firAfterFile.name
|
||||||
|
} else {
|
||||||
|
super.getAfterFileName(beforeFileName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: Enable these as more actions/inspections are enabled, and/or add more FIR-specific directives
|
// TODO: Enable these as more actions/inspections are enabled, and/or add more FIR-specific directives
|
||||||
override fun checkForUnexpectedErrors() {}
|
override fun checkForUnexpectedErrors() {}
|
||||||
override fun checkAvailableActionsAreExpected(actions: List<IntentionAction>) {}
|
override fun checkAvailableActionsAreExpected(actions: List<IntentionAction>) {}
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ object IgnoreTests {
|
|||||||
|
|
||||||
object DIRECTIVES {
|
object DIRECTIVES {
|
||||||
const val FIR_COMPARISON = "// FIR_COMPARISON"
|
const val FIR_COMPARISON = "// FIR_COMPARISON"
|
||||||
const val FIR_COMPARISON_MUTLTILINE_COMMENT = "/* FIR_COMPARISON */"
|
const val FIR_COMPARISON_MULTILINE_COMMENT = "/* FIR_COMPARISON */"
|
||||||
const val IGNORE_FIR = "// IGNORE_FIR"
|
const val IGNORE_FIR = "// IGNORE_FIR"
|
||||||
const val FIX_ME = "// FIX_ME: "
|
const val FIX_ME = "// FIX_ME: "
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
<caret>abstract fun foo() {}
|
<caret>abstract fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
fun foo() {}
|
fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -8,4 +8,4 @@ class Owner {
|
|||||||
<caret>abstract val x: Int
|
<caret>abstract val x: Int
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
<caret>abstract var i : Int
|
<caret>abstract var i : Int
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
abstract class A() {
|
abstract class A() {
|
||||||
<caret>abstract var i : Int
|
<caret>abstract var i : Int
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
<caret>abstract var i : Int = 0
|
<caret>abstract var i : Int = 0
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
var i : Int = 0
|
var i : Int = 0
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
public class A() {
|
public class A() {
|
||||||
<caret>abstract var i : Int
|
<caret>abstract var i : Int
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
public abstract class A() {
|
public abstract class A() {
|
||||||
<caret>abstract var i : Int
|
<caret>abstract var i : Int
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ class B {
|
|||||||
<caret>abstract val i: Int = 0
|
<caret>abstract val i: Int = 0
|
||||||
get() = field
|
get() = field
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ class B {
|
|||||||
val i: Int = 0
|
val i: Int = 0
|
||||||
get() = field
|
get() = field
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A {
|
class A {
|
||||||
<caret>abstract var i = 0
|
<caret>abstract var i = 0
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A {
|
class A {
|
||||||
<caret>var i = 0
|
<caret>var i = 0
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ class B {
|
|||||||
abstract<caret> var j: Int = 0
|
abstract<caret> var j: Int = 0
|
||||||
set(v: Int) {}
|
set(v: Int) {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ class B {
|
|||||||
var j: Int = 0
|
var j: Int = 0
|
||||||
set(v: Int) {}
|
set(v: Int) {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -7,4 +7,4 @@ enum class E {
|
|||||||
|
|
||||||
abstract fun foo()
|
abstract fun foo()
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -10,4 +10,4 @@ interface I {
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline class A<caret> : I
|
inline class A<caret> : I
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -8,4 +8,4 @@
|
|||||||
object O {
|
object O {
|
||||||
<caret>fun foo()
|
<caret>fun foo()
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -6,4 +6,4 @@
|
|||||||
// ERROR: Function 'foo' must have a body
|
// ERROR: Function 'foo' must have a body
|
||||||
|
|
||||||
<caret>fun foo()
|
<caret>fun foo()
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -19,4 +19,4 @@ object Impl : D, E {
|
|||||||
}
|
}
|
||||||
|
|
||||||
<caret>class X : D by Impl, E by Impl {}
|
<caret>class X : D by Impl, E by Impl {}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
sealed class A() {
|
sealed class A() {
|
||||||
fun <caret>i() : Int
|
fun <caret>i() : Int
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
sealed class A() {
|
sealed class A() {
|
||||||
abstract fun <caret>i() : Int
|
abstract fun <caret>i() : Int
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
fun <caret>foo()
|
fun <caret>foo()
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
fun <caret>foo() {}
|
fun <caret>foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
abstract class B() {
|
abstract class B() {
|
||||||
open fun <caret>foo()
|
open fun <caret>foo()
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -2,4 +2,4 @@
|
|||||||
abstract class B() {
|
abstract class B() {
|
||||||
abstract fun <caret>foo()
|
abstract fun <caret>foo()
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -11,4 +11,4 @@ fun foo() {
|
|||||||
val test: Some? = Some()
|
val test: Some? = Some()
|
||||||
for (i in <caret>test) { }
|
for (i in <caret>test) { }
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ abstract class My {
|
|||||||
abstract var foo: Int
|
abstract var foo: Int
|
||||||
<caret>private set
|
<caret>private set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ abstract class My {
|
|||||||
abstract var foo: Int
|
abstract var foo: Int
|
||||||
set
|
set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+1
-1
@@ -4,4 +4,4 @@ class A() {
|
|||||||
abstract class <caret>C
|
abstract class <caret>C
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -4,4 +4,4 @@ class A() {
|
|||||||
abstract inner class C
|
abstract inner class C
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -5,4 +5,4 @@ class A() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -5,4 +5,4 @@ class A() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
<caret>open fun foo() {}
|
<caret>open fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
open class A() {
|
open class A() {
|
||||||
<caret>open fun foo() {}
|
<caret>open fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
<caret>open fun foo() {}
|
<caret>open fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
class A() {
|
class A() {
|
||||||
<caret>fun foo() {}
|
<caret>fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
public class A() {
|
public class A() {
|
||||||
<caret>open fun foo() {}
|
<caret>open fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
public open class A() {
|
public open class A() {
|
||||||
<caret>open fun foo() {}
|
<caret>open fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
@Deprecated("") class A() {
|
@Deprecated("") class A() {
|
||||||
<caret>open fun foo() {}
|
<caret>open fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@
|
|||||||
open class A() {
|
open class A() {
|
||||||
open fun foo() {}
|
open fun foo() {}
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ open class My {
|
|||||||
open var foo = 42
|
open var foo = 42
|
||||||
<caret>private set
|
<caret>private set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ open class My {
|
|||||||
var foo = 42
|
var foo = 42
|
||||||
<caret>private set
|
<caret>private set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ open class My {
|
|||||||
open var foo = 42
|
open var foo = 42
|
||||||
<caret>private set
|
<caret>private set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -3,4 +3,4 @@ open class My {
|
|||||||
open var foo = 42
|
open var foo = 42
|
||||||
<caret>set
|
<caret>set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -7,4 +7,4 @@ open class FooImpl : Foo {
|
|||||||
override var bar: String = ""
|
override var bar: String = ""
|
||||||
<caret>private set
|
<caret>private set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -7,4 +7,4 @@ open class FooImpl : Foo {
|
|||||||
final override var bar: String = ""
|
final override var bar: String = ""
|
||||||
<caret>private set
|
<caret>private set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -7,4 +7,4 @@ open class FooImpl : Foo {
|
|||||||
override var bar: String = ""
|
override var bar: String = ""
|
||||||
<caret>private set
|
<caret>private set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
@@ -7,4 +7,4 @@ open class FooImpl : Foo {
|
|||||||
override var bar: String = ""
|
override var bar: String = ""
|
||||||
<caret>set
|
<caret>set
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
Vendored
+1
-1
@@ -12,4 +12,4 @@ interface C : A, B {
|
|||||||
override fun foo(): <caret>Long
|
override fun foo(): <caret>Long
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIR_COMPARISON */
|
/* FIR_COMPARISON */
|
||||||
+2
-1
@@ -5,4 +5,5 @@ fun foo(a: String?) {
|
|||||||
// comment2
|
// comment2
|
||||||
.<caret>length
|
.<caret>length
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
// FIR_IDENTICAL
|
||||||
|
/* FIR_COMPARISON */
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ fun foo(a: String?) {
|
|||||||
// comment2
|
// comment2
|
||||||
?.length
|
?.length
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
// FIR_IDENTICAL
|
||||||
|
/* FIR_COMPARISON */
|
||||||
|
|||||||
+2
-1
@@ -4,4 +4,5 @@ fun foo(a: String?) {
|
|||||||
val b = a
|
val b = a
|
||||||
.<caret>length
|
.<caret>length
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
// FIR_IDENTICAL
|
||||||
|
/* FIR_COMPARISON */
|
||||||
|
|||||||
@@ -4,4 +4,5 @@ fun foo(a: String?) {
|
|||||||
val b = a
|
val b = a
|
||||||
?.length
|
?.length
|
||||||
}
|
}
|
||||||
/* FIR_COMPARISON */
|
// FIR_IDENTICAL
|
||||||
|
/* FIR_COMPARISON */
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ abstract class AbstractQuickFixTest : KotlinLightCodeInsightFixtureTestCase(), Q
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
myFixture.checkResultByFile(File(fileName).name + ".after")
|
myFixture.checkResultByFile(getAfterFileName(fileName))
|
||||||
|
|
||||||
if (stubComparisonFailure != null) {
|
if (stubComparisonFailure != null) {
|
||||||
throw stubComparisonFailure
|
throw stubComparisonFailure
|
||||||
@@ -201,6 +201,10 @@ abstract class AbstractQuickFixTest : KotlinLightCodeInsightFixtureTestCase(), Q
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected open fun getAfterFileName(beforeFileName: String): String {
|
||||||
|
return File(beforeFileName).name + ".after"
|
||||||
|
}
|
||||||
|
|
||||||
@Throws(ClassNotFoundException::class)
|
@Throws(ClassNotFoundException::class)
|
||||||
private fun checkForUnexpectedActions() {
|
private fun checkForUnexpectedActions() {
|
||||||
val text = myFixture.editor.document.text
|
val text = myFixture.editor.document.text
|
||||||
|
|||||||
Reference in New Issue
Block a user