Extraction refactorings tests: do not generate conflict files in case of any exception from code
This commit is contained in:
+4
-9
@@ -20,6 +20,7 @@ import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.search.LocalSearchScope
|
||||
import com.intellij.psi.search.searches.ReferencesSearch
|
||||
import com.intellij.refactoring.BaseRefactoringProcessor
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.idea.core.*
|
||||
@@ -28,10 +29,7 @@ import org.jetbrains.kotlin.idea.intentions.ConvertToExpressionBodyIntention
|
||||
import org.jetbrains.kotlin.idea.intentions.InfixCallToOrdinaryIntention
|
||||
import org.jetbrains.kotlin.idea.intentions.OperatorToFunctionIntention
|
||||
import org.jetbrains.kotlin.idea.intentions.RemoveExplicitTypeArgumentsIntention
|
||||
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.ExpressionValue
|
||||
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.Initializer
|
||||
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.Jump
|
||||
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.ParameterUpdate
|
||||
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValue.*
|
||||
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.OutputValueBoxer.AsTuple
|
||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||
import org.jetbrains.kotlin.idea.util.ShortenReferences
|
||||
@@ -53,10 +51,7 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getCalleeExpressionIfAny
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.types.isFlexible
|
||||
import org.jetbrains.kotlin.types.typeUtil.builtIns
|
||||
import java.util.ArrayList
|
||||
import java.util.Collections
|
||||
import java.util.HashMap
|
||||
import java.util.LinkedHashMap
|
||||
import java.util.*
|
||||
|
||||
fun ExtractionGeneratorConfiguration.getDeclarationText(
|
||||
withBody: Boolean = true,
|
||||
@@ -66,7 +61,7 @@ fun ExtractionGeneratorConfiguration.getDeclarationText(
|
||||
): String {
|
||||
val extractionTarget = generatorOptions.target
|
||||
if (!extractionTarget.isAvailable(descriptor)) {
|
||||
throw IllegalArgumentException("Can't generate ${extractionTarget.targetName}: ${descriptor.extractionData.codeFragmentText}")
|
||||
throw BaseRefactoringProcessor.ConflictsInTestsException(listOf("Can't generate ${extractionTarget.targetName}: ${descriptor.extractionData.codeFragmentText}"))
|
||||
}
|
||||
|
||||
val builderTarget = when (extractionTarget) {
|
||||
|
||||
+7
-4
@@ -35,7 +35,6 @@ import com.intellij.refactoring.introduceParameter.Util
|
||||
import com.intellij.refactoring.util.occurrences.ExpressionOccurrenceManager
|
||||
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase.assertEquals
|
||||
import org.jetbrains.kotlin.idea.refactoring.JetRefactoringUtil
|
||||
import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.EXTRACT_FUNCTION
|
||||
import org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractKotlinFunctionHandler
|
||||
@@ -339,9 +338,13 @@ public abstract class AbstractJetExtractionTest() : JetLightCodeInsightFixtureTe
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(e: Exception) {
|
||||
val message = if (e is ConflictsInTestsException) e.getMessages().sorted().joinToString(" ") else e.getMessage()
|
||||
JetTestUtils.assertEqualsToFile(conflictFile, message?.replace("\n", " ") ?: e.javaClass.getName())
|
||||
catch(e: ConflictsInTestsException) {
|
||||
val message = e.messages.sorted().joinToString(" ").replace("\n", " ")
|
||||
JetTestUtils.assertEqualsToFile(conflictFile, message)
|
||||
}
|
||||
catch(e: RuntimeException) { // RuntimeException is thrown by IDEA code in CodeInsightUtils.java
|
||||
if (e.javaClass != RuntimeException::class.java) throw e
|
||||
JetTestUtils.assertEqualsToFile(conflictFile, e.message!!)
|
||||
}
|
||||
finally {
|
||||
if (addKotlinRuntime) {
|
||||
|
||||
Reference in New Issue
Block a user