convert RunConfigurableTest to kotlin

This commit is contained in:
Vladimir Krivosheev
2017-04-11 17:38:39 +02:00
parent bf81fafdcf
commit ca1c3e9955
3 changed files with 683 additions and 716 deletions
@@ -1,716 +0,0 @@
/*
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.execution.impl
import com.intellij.execution.application.ApplicationConfigurationType
import com.intellij.execution.configurations.ConfigurationType
import com.intellij.execution.junit.JUnitConfigurationType
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Trinity
import com.intellij.testFramework.LightIdeaTestCase
import com.intellij.ui.RowsDnDSupport
import com.intellij.ui.treeStructure.Tree
import com.intellij.util.*
import org.jdom.Element
import javax.swing.tree.DefaultMutableTreeNode
import javax.swing.tree.TreePath
import java.util.ArrayList
import com.intellij.execution.impl.RunConfigurable.NodeKind.*
import com.intellij.testFramework.assertions.Assertions.assertThat
import com.intellij.ui.RowsDnDSupport.RefinedDropSupport.Position.*
private val ORDER = arrayOf(CONFIGURATION_TYPE, //Application
FOLDER, //1
CONFIGURATION, CONFIGURATION, CONFIGURATION, CONFIGURATION, CONFIGURATION, TEMPORARY_CONFIGURATION, TEMPORARY_CONFIGURATION, FOLDER, //2
TEMPORARY_CONFIGURATION, FOLDER, //3
CONFIGURATION, TEMPORARY_CONFIGURATION, CONFIGURATION_TYPE, //JUnit
FOLDER, //4
CONFIGURATION, CONFIGURATION, FOLDER, //5
CONFIGURATION, CONFIGURATION, TEMPORARY_CONFIGURATION, UNKNOWN//Defaults
)
private fun createRunManager(element: Element): RunManagerImpl {
val project = LightPlatformTestCase.getProject()
val runManager = RunManagerImpl(project)
runManager.initializeConfigurationTypes(arrayOf(ApplicationConfigurationType.getInstance(), JUnitConfigurationType.getInstance()))
runManager.loadState(element)
return runManager
}
class RunConfigurableTest : LightIdeaTestCase() {
private var myConfigurable: MockRunConfigurable? = null
private var myTree: Tree? = null
private var myRoot: DefaultMutableTreeNode? = null
private var myModel: RunConfigurable.MyTreeModel? = null
protected override fun setUp() {
super.setUp()
myConfigurable = MockRunConfigurable(createRunManager(loadElement(FOLDERS_CONFIGURATION)))
myTree = myConfigurable!!.myTree
myRoot = myConfigurable!!.myRoot
myModel = myConfigurable!!.myTreeModel
}
protected override fun tearDown() {
try {
if (myConfigurable != null) {
myConfigurable!!.disposeUIResources()
}
myConfigurable = null
myTree = null
myRoot = null
myModel = null
}
finally {
super.tearDown()
}
}
fun testDND() {
doExpand()
val never = intArrayOf(-1, 0, 14, 22, 23, 999)
for (i in -1..16) {
for (j in never) {
if ((j == 14 || j == 21) && i == j) {
continue
}
assertCannot(j, i, ABOVE)
assertCannot(j, i, INTO)
assertCannot(j, i, BELOW)
}
}
assertCan(3, 3, BELOW)
assertCan(3, 3, ABOVE)
assertCannot(3, 2, BELOW)
assertCan(3, 2, ABOVE)
assertCannot(3, 1, BELOW)
assertCannot(3, 0, BELOW)
assertCan(2, 14, ABOVE)
assertCan(1, 14, ABOVE)
assertCan(1, 11, ABOVE)
assertCannot(1, 10, ABOVE)
assertCannot(1, 10, BELOW)
assertCannot(8, 6, ABOVE)
assertCan(8, 6, BELOW)
assertCannot(5, 7, BELOW)
assertCan(5, 7, ABOVE)
assertCannot(15, 11, INTO)
assertCannot(18, 21, ABOVE)
assertCan(15, 21, ABOVE)
assertThat(myModel!!.isDropInto(myTree, 2, 9)).isTrue()
assertThat(myModel!!.isDropInto(myTree, 2, 1)).isTrue()
assertThat(myModel!!.isDropInto(myTree, 12, 9)).isTrue()
assertThat(myModel!!.isDropInto(myTree, 12, 1)).isTrue()
TestCase.assertFalse(myModel!!.isDropInto(myTree, 999, 9))
TestCase.assertFalse(myModel!!.isDropInto(myTree, 999, 1))
TestCase.assertFalse(myModel!!.isDropInto(myTree, 2, 999))
TestCase.assertFalse(myModel!!.isDropInto(myTree, 2, -1))
}
private fun doExpand() {
val toExpand = ArrayList<DefaultMutableTreeNode>()
RunConfigurable.collectNodesRecursively(myRoot, toExpand, FOLDER)
assertThat<DefaultMutableTreeNode>(toExpand).hasSize(5)
val toExpand2 = ArrayList<DefaultMutableTreeNode>()
RunConfigurable.collectNodesRecursively(myRoot, toExpand2, CONFIGURATION_TYPE)
toExpand.addAll(toExpand2)
for (node in toExpand) {
myTree!!.expandPath(TreePath(node.getPath()))
}
for (i in ORDER.indices) {
val node = myTree!!.getPathForRow(i).getLastPathComponent() as DefaultMutableTreeNode
TestCase.assertEquals("Row #" + i, RunConfigurable.getKind(node), ORDER[i])
}
}
private fun assertCan(oldIndex: Int, newIndex: Int, position: RowsDnDSupport.RefinedDropSupport.Position) {
assertDrop(oldIndex, newIndex, position, true)
}
private fun assertCannot(oldIndex: Int, newIndex: Int, position: RowsDnDSupport.RefinedDropSupport.Position) {
assertDrop(oldIndex, newIndex, position, false)
}
private fun assertDrop(oldIndex: Int, newIndex: Int, position: RowsDnDSupport.RefinedDropSupport.Position, canDrop: Boolean) {
val message = StringBuilder()
message.append("(").append(oldIndex).append(")").append(myTree!!.getPathForRow(oldIndex)).append("->")
message.append("(").append(newIndex).append(")").append(myTree!!.getPathForRow(newIndex)).append(position)
if (canDrop) {
TestCase.assertTrue(message.toString(), myModel!!.canDrop(oldIndex, newIndex, position))
}
else {
TestCase.assertFalse(message.toString(), myModel!!.canDrop(oldIndex, newIndex, position))
}
}
fun testMoveUpDown() {
doExpand()
checkPositionToMove(0, 1, null)
checkPositionToMove(2, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(2, 3, BELOW))
checkPositionToMove(2, -1, null)
checkPositionToMove(14, 1, null)
checkPositionToMove(14, -1, null)
checkPositionToMove(15, -1, null)
checkPositionToMove(16, -1, null)
checkPositionToMove(3, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(3, 2, ABOVE))
checkPositionToMove(6, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(6, 9, BELOW))
checkPositionToMove(7, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(7, 8, BELOW))
checkPositionToMove(10, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(10, 8, BELOW))
checkPositionToMove(8, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(8, 9, BELOW))
checkPositionToMove(21, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(21, 20, BELOW))
checkPositionToMove(21, 1, null)
checkPositionToMove(20, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(20, 21, ABOVE))
checkPositionToMove(20, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(20, 19, ABOVE))
checkPositionToMove(19, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(19, 20, BELOW))
checkPositionToMove(19, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(19, 17, BELOW))
checkPositionToMove(17, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(17, 16, ABOVE))
checkPositionToMove(17, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(17, 18, BELOW))
}
private fun checkPositionToMove(selectedRow: Int, direction: Int, expected: Trinity<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>?) {
myTree!!.setSelectionRow(selectedRow)
TestCase.assertEquals(expected, myConfigurable!!.getAvailableDropPosition(direction))
}
}
private class MockRunConfigurable(private val testManager: RunManagerImpl) : RunConfigurable(LightPlatformTestCase.getProject()) {
init {
createComponent()
}
internal override fun getRunManager() = testManager
}
/*
00 Application
01 1
02 CodeGenerator
03 Renamer
04 UI
05 AuTest
06 Simples
07 OutAndErr (tmp)
08 C148C_TersePrincess (tmp)
09 2
10 Periods (tmp)
11 3
12 C148E_Porcelain
13 ErrAndOut (tmp)
14 JUnit
15 4
16 All in titled
17 All in titled2
18 5
19 All in titled3
20 All in titled4
21 All in titled5
16 Defaults
...
*/
private val FOLDERS_CONFIGURATION = " <component name=\"RunManager\" selected=\"Application.UI\">\n" +
" <configuration default=\"false\" name=\"OutAndErr\" type=\"Application\" factoryName=\"Application\" folderName=\"1\" temporary=\"true\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"OutAndErr\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"C148C_TersePrincess\" type=\"Application\" factoryName=\"Application\" folderName=\"1\" temporary=\"true\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"C148C_TersePrincess\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"Periods\" type=\"Application\" factoryName=\"Application\" folderName=\"2\" temporary=\"true\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\">\n" +
" <pattern>\n" +
" <option name=\"PATTERN\" value=\"v.*\" />\n" +
" <option name=\"ENABLED\" value=\"true\" />\n" +
" </pattern>\n" +
" </extension>\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"v.Periods\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"ErrAndOut\" type=\"Application\" factoryName=\"Application\" folderName=\"3\" temporary=\"true\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"ErrAndOut\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"true\" type=\"MavenRunConfiguration\" factoryName=\"Maven\">\n" +
" <MavenSettings>\n" +
" <option name=\"myGeneralSettings\" />\n" +
" <option name=\"myRunnerSettings\" />\n" +
" <option name=\"myRunnerParameters\">\n" +
" <MavenRunnerParameters>\n" +
" <option name=\"profiles\">\n" +
" <set />\n" +
" </option>\n" +
" <option name=\"goals\">\n" +
" <list />\n" +
" </option>\n" +
" <option name=\"profilesMap\">\n" +
" <map />\n" +
" </option>\n" +
" <option name=\"workingDirPath\" value=\"\" />\n" +
" </MavenRunnerParameters>\n" +
" </option>\n" +
" </MavenSettings>\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"true\" type=\"JUnit\" factoryName=\"JUnit\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <module name=\"\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"PACKAGE_NAME\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"\" />\n" +
" <option name=\"METHOD_NAME\" value=\"\" />\n" +
" <option name=\"TEST_OBJECT\" value=\"class\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"-ea\" />\n" +
" <option name=\"PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <option name=\"TEST_SEARCH_SCOPE\">\n" +
" <value defaultName=\"moduleWithDependencies\" />\n" +
" </option>\n" +
" <envs />\n" +
" <patterns />\n" +
" <method>\n" +
" <option name=\"Make\" enabled=\"false\" />\n" +
" </method>\n" +
" </configuration>\n" +
" <configuration default=\"true\" type=\"Application\" factoryName=\"Application\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"\" />\n" +
" <envs />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"CodeGenerator\" type=\"Application\" factoryName=\"Application\" folderName=\"1\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\">\n" +
" <pattern>\n" +
" <option name=\"PATTERN\" value=\"codegen.*\" />\n" +
" <option name=\"ENABLED\" value=\"true\" />\n" +
" </pattern>\n" +
" </extension>\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"codegen.CodeGenerator\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"Renamer\" type=\"Application\" factoryName=\"Application\" folderName=\"1\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"Renamer\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"UI\" type=\"Application\" factoryName=\"Application\" folderName=\"1\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"UI\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"AuTest\" type=\"Application\" factoryName=\"Application\" folderName=\"1\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\">\n" +
" <pattern>\n" +
" <option name=\"PATTERN\" value=\"au.*\" />\n" +
" <option name=\"ENABLED\" value=\"true\" />\n" +
" </pattern>\n" +
" </extension>\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"au.AuTest\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"Simples\" type=\"Application\" factoryName=\"Application\" folderName=\"1\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"Simples\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"C148E_Porcelain\" type=\"Application\" factoryName=\"Application\" folderName=\"3\">\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"C148E_Porcelain\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"PROGRAM_PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <module name=\"titled\" />\n" +
" <envs />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method />\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"All in titled\" type=\"JUnit\" factoryName=\"JUnit\" folderName=\"4\">\n" +
" <output_file path=\"C:/tst.txt\" is_save=\"true\" />\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <module name=\"titled\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"PACKAGE_NAME\" value=\"\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"\" />\n" +
" <option name=\"METHOD_NAME\" value=\"\" />\n" +
" <option name=\"TEST_OBJECT\" value=\"package\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"-ea\" />\n" +
" <option name=\"PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <option name=\"TEST_SEARCH_SCOPE\">\n" +
" <value defaultName=\"moduleWithDependencies\" />\n" +
" </option>\n" +
" <envs />\n" +
" <patterns />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method>\n" +
" <option name=\"Make\" enabled=\"true\" />\n" +
" </method>\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"All in titled2\" type=\"JUnit\" factoryName=\"JUnit\" folderName=\"4\">\n" +
" <output_file path=\"C:/tst.txt\" is_save=\"true\" />\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <module name=\"titled\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"PACKAGE_NAME\" value=\"\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"\" />\n" +
" <option name=\"METHOD_NAME\" value=\"\" />\n" +
" <option name=\"TEST_OBJECT\" value=\"package\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"-ea\" />\n" +
" <option name=\"PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <option name=\"TEST_SEARCH_SCOPE\">\n" +
" <value defaultName=\"moduleWithDependencies\" />\n" +
" </option>\n" +
" <envs />\n" +
" <patterns />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method>\n" +
" <option name=\"Make\" enabled=\"true\" />\n" +
" </method>\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"All in titled3\" type=\"JUnit\" factoryName=\"JUnit\" folderName=\"5\">\n" +
" <output_file path=\"C:/tst.txt\" is_save=\"true\" />\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <module name=\"titled\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"PACKAGE_NAME\" value=\"\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"\" />\n" +
" <option name=\"METHOD_NAME\" value=\"\" />\n" +
" <option name=\"TEST_OBJECT\" value=\"package\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"-ea\" />\n" +
" <option name=\"PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <option name=\"TEST_SEARCH_SCOPE\">\n" +
" <value defaultName=\"moduleWithDependencies\" />\n" +
" </option>\n" +
" <envs />\n" +
" <patterns />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method>\n" +
" <option name=\"Make\" enabled=\"true\" />\n" +
" </method>\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"All in titled4\" type=\"JUnit\" factoryName=\"JUnit\" folderName=\"5\">\n" +
" <output_file path=\"C:/tst.txt\" is_save=\"true\" />\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <module name=\"titled\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"PACKAGE_NAME\" value=\"\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"\" />\n" +
" <option name=\"METHOD_NAME\" value=\"\" />\n" +
" <option name=\"TEST_OBJECT\" value=\"package\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"-ea\" />\n" +
" <option name=\"PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <option name=\"TEST_SEARCH_SCOPE\">\n" +
" <value defaultName=\"moduleWithDependencies\" />\n" +
" </option>\n" +
" <envs />\n" +
" <patterns />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method>\n" +
" <option name=\"Make\" enabled=\"true\" />\n" +
" </method>\n" +
" </configuration>\n" +
" <configuration default=\"false\" name=\"All in titled5\" type=\"JUnit\" factoryName=\"JUnit\" temporary=\"true\">\n" +
" <output_file path=\"C:/tst.txt\" is_save=\"true\" />\n" +
" <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n" +
" <module name=\"titled\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n" +
" <option name=\"ALTERNATIVE_JRE_PATH\" value=\"\" />\n" +
" <option name=\"PACKAGE_NAME\" value=\"\" />\n" +
" <option name=\"MAIN_CLASS_NAME\" value=\"\" />\n" +
" <option name=\"METHOD_NAME\" value=\"\" />\n" +
" <option name=\"TEST_OBJECT\" value=\"package\" />\n" +
" <option name=\"VM_PARAMETERS\" value=\"-ea\" />\n" +
" <option name=\"PARAMETERS\" value=\"\" />\n" +
" <option name=\"WORKING_DIRECTORY\" value=\"file://\$PROJECT_DIR$\" />\n" +
" <option name=\"ENV_VARIABLES\" />\n" +
" <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n" +
" <option name=\"TEST_SEARCH_SCOPE\">\n" +
" <value defaultName=\"moduleWithDependencies\" />\n" +
" </option>\n" +
" <envs />\n" +
" <patterns />\n" +
" <RunnerSettings RunnerId=\"Debug\">\n" +
" <option name=\"DEBUG_PORT\" value=\"\" />\n" +
" <option name=\"TRANSPORT\" value=\"0\" />\n" +
" <option name=\"LOCAL\" value=\"true\" />\n" +
" </RunnerSettings>\n" +
" <RunnerSettings RunnerId=\"Run\" />\n" +
" <ConfigurationWrapper RunnerId=\"Debug\" />\n" +
" <ConfigurationWrapper RunnerId=\"Run\" />\n" +
" <method>\n" +
" <option name=\"Make\" enabled=\"true\" />\n" +
" </method>\n" +
" </configuration>\n" +
" <list size=\"16\">\n" +
" <item index=\"0\" class=\"java.lang.String\" itemvalue=\"Application.CodeGenerator\" />\n" +
" <item index=\"1\" class=\"java.lang.String\" itemvalue=\"Application.Renamer\" />\n" +
" <item index=\"2\" class=\"java.lang.String\" itemvalue=\"Application.UI\" />\n" +
" <item index=\"3\" class=\"java.lang.String\" itemvalue=\"Application.AuTest\" />\n" +
" <item index=\"4\" class=\"java.lang.String\" itemvalue=\"Application.Simples\" />\n" +
" <item index=\"5\" class=\"java.lang.String\" itemvalue=\"Application.OutAndErr\" />\n" +
" <item index=\"6\" class=\"java.lang.String\" itemvalue=\"Application.C148C_TersePrincess\" />\n" +
" <item index=\"7\" class=\"java.lang.String\" itemvalue=\"Application.Periods\" />\n" +
" <item index=\"8\" class=\"java.lang.String\" itemvalue=\"Application.C148E_Porcelain\" />\n" +
" <item index=\"9\" class=\"java.lang.String\" itemvalue=\"Application.ErrAndOut\" />\n" +
" <item index=\"10\" class=\"java.lang.String\" itemvalue=\"JUnit.All in titled\" />\n" +
" <item index=\"11\" class=\"java.lang.String\" itemvalue=\"JUnit.All in titled2\" />\n" +
" <item index=\"12\" class=\"java.lang.String\" itemvalue=\"JUnit.All in titled3\" />\n" +
" <item index=\"13\" class=\"java.lang.String\" itemvalue=\"JUnit.All in titled4\" />\n" +
" <item index=\"14\" class=\"java.lang.String\" itemvalue=\"JUnit.All in titled5\" />\n" +
" </list>\n" +
" <recent_temporary>\n" +
" <list size=\"4\">\n" +
" <item index=\"0\" class=\"java.lang.String\" itemvalue=\"Application.ErrAndOut\" />\n" +
" <item index=\"1\" class=\"java.lang.String\" itemvalue=\"Application.Periods\" />\n" +
" <item index=\"2\" class=\"java.lang.String\" itemvalue=\"Application.OutAndErr\" />\n" +
" <item index=\"3\" class=\"java.lang.String\" itemvalue=\"Application.C148C_TersePrincess\" />\n" +
" </list>\n" +
" </recent_temporary>\n" +
" <configuration name=\"&lt;template&gt;\" type=\"WebApp\" default=\"true\" selected=\"false\">\n" +
" <Host>localhost</Host>\n" +
" <Port>5050</Port>\n" +
" </configuration>\n" +
" </component>\n"
@@ -0,0 +1,194 @@
/*
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.execution.impl
import com.intellij.execution.application.ApplicationConfigurationType
import com.intellij.execution.impl.RunConfigurable.NodeKind.*
import com.intellij.execution.junit.JUnitConfigurationType
import com.intellij.openapi.util.Trinity
import com.intellij.testFramework.LightIdeaTestCase
import com.intellij.testFramework.LightPlatformTestCase
import com.intellij.testFramework.assertions.Assertions.assertThat
import com.intellij.ui.RowsDnDSupport
import com.intellij.ui.RowsDnDSupport.RefinedDropSupport.Position.*
import com.intellij.ui.treeStructure.Tree
import com.intellij.util.loadElement
import org.jdom.Element
import java.util.*
import javax.swing.tree.DefaultMutableTreeNode
import javax.swing.tree.TreePath
import kotlin.properties.Delegates
private val ORDER = arrayOf(CONFIGURATION_TYPE, //Application
FOLDER, //1
CONFIGURATION, CONFIGURATION, CONFIGURATION, CONFIGURATION, CONFIGURATION, TEMPORARY_CONFIGURATION, TEMPORARY_CONFIGURATION, FOLDER, //2
TEMPORARY_CONFIGURATION, FOLDER, //3
CONFIGURATION, TEMPORARY_CONFIGURATION, CONFIGURATION_TYPE, //JUnit
FOLDER, //4
CONFIGURATION, CONFIGURATION, FOLDER, //5
CONFIGURATION, CONFIGURATION, TEMPORARY_CONFIGURATION, UNKNOWN//Defaults
)
private fun createRunManager(element: Element): RunManagerImpl {
val runManager = RunManagerImpl(LightPlatformTestCase.getProject())
runManager.initializeConfigurationTypes(arrayOf(ApplicationConfigurationType.getInstance(), JUnitConfigurationType.getInstance()))
runManager.loadState(element)
return runManager
}
class RunConfigurableTest : LightIdeaTestCase() {
private var configurable: MockRunConfigurable? = null
private var tree: Tree by Delegates.notNull()
private var root: DefaultMutableTreeNode? = null
private var model: RunConfigurable.MyTreeModel by Delegates.notNull()
override fun setUp() {
super.setUp()
configurable = MockRunConfigurable(createRunManager(loadElement(RunConfigurableTest::class.java.getResourceAsStream("folders.xml"))))
tree = configurable!!.myTree
root = configurable!!.myRoot
model = configurable!!.myTreeModel
}
override fun tearDown() {
try {
if (configurable != null) {
configurable!!.disposeUIResources()
}
configurable = null
root = null
}
finally {
super.tearDown()
}
}
fun testDND() {
doExpand()
val never = intArrayOf(-1, 0, 14, 22, 23, 999)
for (i in -1..16) {
for (j in never) {
if ((j == 14 || j == 21) && i == j) {
continue
}
assertCannot(j, i, ABOVE)
assertCannot(j, i, INTO)
assertCannot(j, i, BELOW)
}
}
assertCan(3, 3, BELOW)
assertCan(3, 3, ABOVE)
assertCannot(3, 2, BELOW)
assertCan(3, 2, ABOVE)
assertCannot(3, 1, BELOW)
assertCannot(3, 0, BELOW)
assertCan(2, 14, ABOVE)
assertCan(1, 14, ABOVE)
assertCan(1, 11, ABOVE)
assertCannot(1, 10, ABOVE)
assertCannot(1, 10, BELOW)
assertCannot(8, 6, ABOVE)
assertCan(8, 6, BELOW)
assertCannot(5, 7, BELOW)
assertCan(5, 7, ABOVE)
assertCannot(15, 11, INTO)
assertCannot(18, 21, ABOVE)
assertCan(15, 21, ABOVE)
assertThat(model.isDropInto(tree, 2, 9)).isTrue()
assertThat(model.isDropInto(tree, 2, 1)).isTrue()
assertThat(model.isDropInto(tree, 12, 9)).isTrue()
assertThat(model.isDropInto(tree, 12, 1)).isTrue()
assertThat(model.isDropInto(tree, 999, 9)).isFalse()
assertThat(model.isDropInto(tree, 999, 1)).isFalse()
assertThat(model.isDropInto(tree, 2, 999)).isFalse()
assertThat(model.isDropInto(tree, 2, -1)).isFalse()
}
private fun doExpand() {
val toExpand = ArrayList<DefaultMutableTreeNode>()
RunConfigurable.collectNodesRecursively(root, toExpand, FOLDER)
assertThat(toExpand).hasSize(5)
val toExpand2 = ArrayList<DefaultMutableTreeNode>()
RunConfigurable.collectNodesRecursively(root, toExpand2, CONFIGURATION_TYPE)
toExpand.addAll(toExpand2)
for (node in toExpand) {
tree.expandPath(TreePath(node.path))
}
assertThat(ORDER.mapIndexed { index, nodeKind -> RunConfigurable.getKind(tree.getPathForRow(index).lastPathComponent as DefaultMutableTreeNode) }).containsExactly(*ORDER)
}
private fun assertCan(oldIndex: Int, newIndex: Int, position: RowsDnDSupport.RefinedDropSupport.Position) {
assertDrop(oldIndex, newIndex, position, true)
}
private fun assertCannot(oldIndex: Int, newIndex: Int, position: RowsDnDSupport.RefinedDropSupport.Position) {
assertDrop(oldIndex, newIndex, position, false)
}
private fun assertDrop(oldIndex: Int, newIndex: Int, position: RowsDnDSupport.RefinedDropSupport.Position, canDrop: Boolean) {
val message = StringBuilder()
message.append("(").append(oldIndex).append(")").append(tree.getPathForRow(oldIndex)).append("->")
message.append("(").append(newIndex).append(")").append(tree.getPathForRow(newIndex)).append(position)
if (canDrop) {
// message.toString()
assertThat(model.canDrop(oldIndex, newIndex, position)).isTrue()
}
else {
// message.toString()
assertThat(model.canDrop(oldIndex, newIndex, position)).isFalse()
}
}
fun testMoveUpDown() {
doExpand()
checkPositionToMove(0, 1, null)
checkPositionToMove(2, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(2, 3, BELOW))
checkPositionToMove(2, -1, null)
checkPositionToMove(14, 1, null)
checkPositionToMove(14, -1, null)
checkPositionToMove(15, -1, null)
checkPositionToMove(16, -1, null)
checkPositionToMove(3, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(3, 2, ABOVE))
checkPositionToMove(6, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(6, 9, BELOW))
checkPositionToMove(7, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(7, 8, BELOW))
checkPositionToMove(10, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(10, 8, BELOW))
checkPositionToMove(8, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(8, 9, BELOW))
checkPositionToMove(21, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(21, 20, BELOW))
checkPositionToMove(21, 1, null)
checkPositionToMove(20, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(20, 21, ABOVE))
checkPositionToMove(20, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(20, 19, ABOVE))
checkPositionToMove(19, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(19, 20, BELOW))
checkPositionToMove(19, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(19, 17, BELOW))
checkPositionToMove(17, -1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(17, 16, ABOVE))
checkPositionToMove(17, 1, Trinity.create<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>(17, 18, BELOW))
}
private fun checkPositionToMove(selectedRow: Int, direction: Int, expected: Trinity<Int, Int, RowsDnDSupport.RefinedDropSupport.Position>?) {
tree.setSelectionRow(selectedRow)
assertThat(configurable!!.getAvailableDropPosition(direction)).isEqualTo(expected)
}
}
private class MockRunConfigurable(private val testManager: RunManagerImpl) : RunConfigurable(LightPlatformTestCase.getProject()) {
init {
createComponent()
}
internal override fun getRunManager() = testManager
}
@@ -0,0 +1,489 @@
<component name="RunManager" selected="Application.UI">
<configuration default="false" name="OutAndErr" type="Application" factoryName="Application" folderName="1" temporary="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<option name="MAIN_CLASS_NAME" value="OutAndErr"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="C148C_TersePrincess" type="Application" factoryName="Application" folderName="1" temporary="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<option name="MAIN_CLASS_NAME" value="C148C_TersePrincess"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="Periods" type="Application" factoryName="Application" folderName="2" temporary="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="v.*"/>
<option name="ENABLED" value="true"/>
</pattern>
</extension>
<option name="MAIN_CLASS_NAME" value="v.Periods"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="ErrAndOut" type="Application" factoryName="Application" folderName="3" temporary="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<option name="MAIN_CLASS_NAME" value="ErrAndOut"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="true" type="MavenRunConfiguration" factoryName="Maven">
<MavenSettings>
<option name="myGeneralSettings"/>
<option name="myRunnerSettings"/>
<option name="myRunnerParameters">
<MavenRunnerParameters>
<option name="profiles">
<set/>
</option>
<option name="goals">
<list/>
</option>
<option name="profilesMap">
<map/>
</option>
<option name="workingDirPath" value=""/>
</MavenRunnerParameters>
</option>
</MavenSettings>
<method/>
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<module name=""/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="PACKAGE_NAME"/>
<option name="MAIN_CLASS_NAME" value=""/>
<option name="METHOD_NAME" value=""/>
<option name="TEST_OBJECT" value="class"/>
<option name="VM_PARAMETERS" value="-ea"/>
<option name="PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies"/>
</option>
<envs/>
<patterns/>
<method>
<option name="Make" enabled="false"/>
</method>
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<option name="MAIN_CLASS_NAME" value=""/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name=""/>
<envs/>
<method/>
</configuration>
<configuration default="false" name="CodeGenerator" type="Application" factoryName="Application" folderName="1">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="codegen.*"/>
<option name="ENABLED" value="true"/>
</pattern>
</extension>
<option name="MAIN_CLASS_NAME" value="codegen.CodeGenerator"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="Renamer" type="Application" factoryName="Application" folderName="1">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<option name="MAIN_CLASS_NAME" value="Renamer"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="UI" type="Application" factoryName="Application" folderName="1">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<option name="MAIN_CLASS_NAME" value="UI"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="AuTest" type="Application" factoryName="Application" folderName="1">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="au.*"/>
<option name="ENABLED" value="true"/>
</pattern>
</extension>
<option name="MAIN_CLASS_NAME" value="au.AuTest"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="Simples" type="Application" factoryName="Application" folderName="1">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<option name="MAIN_CLASS_NAME" value="Simples"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="C148E_Porcelain" type="Application" factoryName="Application" folderName="3">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<option name="MAIN_CLASS_NAME" value="C148E_Porcelain"/>
<option name="VM_PARAMETERS" value=""/>
<option name="PROGRAM_PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="ENABLE_SWING_INSPECTOR" value="false"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<module name="titled"/>
<envs/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method/>
</configuration>
<configuration default="false" name="All in titled" type="JUnit" factoryName="JUnit" folderName="4">
<output_file path="C:/tst.txt" is_save="true"/>
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<module name="titled"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="PACKAGE_NAME" value=""/>
<option name="MAIN_CLASS_NAME" value=""/>
<option name="METHOD_NAME" value=""/>
<option name="TEST_OBJECT" value="package"/>
<option name="VM_PARAMETERS" value="-ea"/>
<option name="PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies"/>
</option>
<envs/>
<patterns/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method>
<option name="Make" enabled="true"/>
</method>
</configuration>
<configuration default="false" name="All in titled2" type="JUnit" factoryName="JUnit" folderName="4">
<output_file path="C:/tst.txt" is_save="true"/>
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<module name="titled"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="PACKAGE_NAME" value=""/>
<option name="MAIN_CLASS_NAME" value=""/>
<option name="METHOD_NAME" value=""/>
<option name="TEST_OBJECT" value="package"/>
<option name="VM_PARAMETERS" value="-ea"/>
<option name="PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies"/>
</option>
<envs/>
<patterns/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method>
<option name="Make" enabled="true"/>
</method>
</configuration>
<configuration default="false" name="All in titled3" type="JUnit" factoryName="JUnit" folderName="5">
<output_file path="C:/tst.txt" is_save="true"/>
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<module name="titled"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="PACKAGE_NAME" value=""/>
<option name="MAIN_CLASS_NAME" value=""/>
<option name="METHOD_NAME" value=""/>
<option name="TEST_OBJECT" value="package"/>
<option name="VM_PARAMETERS" value="-ea"/>
<option name="PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies"/>
</option>
<envs/>
<patterns/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method>
<option name="Make" enabled="true"/>
</method>
</configuration>
<configuration default="false" name="All in titled4" type="JUnit" factoryName="JUnit" folderName="5">
<output_file path="C:/tst.txt" is_save="true"/>
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<module name="titled"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="PACKAGE_NAME" value=""/>
<option name="MAIN_CLASS_NAME" value=""/>
<option name="METHOD_NAME" value=""/>
<option name="TEST_OBJECT" value="package"/>
<option name="VM_PARAMETERS" value="-ea"/>
<option name="PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies"/>
</option>
<envs/>
<patterns/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method>
<option name="Make" enabled="true"/>
</method>
</configuration>
<configuration default="false" name="All in titled5" type="JUnit" factoryName="JUnit" temporary="true">
<output_file path="C:/tst.txt" is_save="true"/>
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"/>
<module name="titled"/>
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"/>
<option name="ALTERNATIVE_JRE_PATH" value=""/>
<option name="PACKAGE_NAME" value=""/>
<option name="MAIN_CLASS_NAME" value=""/>
<option name="METHOD_NAME" value=""/>
<option name="TEST_OBJECT" value="package"/>
<option name="VM_PARAMETERS" value="-ea"/>
<option name="PARAMETERS" value=""/>
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$"/>
<option name="ENV_VARIABLES"/>
<option name="PASS_PARENT_ENVS" value="true"/>
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies"/>
</option>
<envs/>
<patterns/>
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value=""/>
<option name="TRANSPORT" value="0"/>
<option name="LOCAL" value="true"/>
</RunnerSettings>
<RunnerSettings RunnerId="Run"/>
<ConfigurationWrapper RunnerId="Debug"/>
<ConfigurationWrapper RunnerId="Run"/>
<method>
<option name="Make" enabled="true"/>
</method>
</configuration>
<list size="16">
<item index="0" class="java.lang.String" itemvalue="Application.CodeGenerator"/>
<item index="1" class="java.lang.String" itemvalue="Application.Renamer"/>
<item index="2" class="java.lang.String" itemvalue="Application.UI"/>
<item index="3" class="java.lang.String" itemvalue="Application.AuTest"/>
<item index="4" class="java.lang.String" itemvalue="Application.Simples"/>
<item index="5" class="java.lang.String" itemvalue="Application.OutAndErr"/>
<item index="6" class="java.lang.String" itemvalue="Application.C148C_TersePrincess"/>
<item index="7" class="java.lang.String" itemvalue="Application.Periods"/>
<item index="8" class="java.lang.String" itemvalue="Application.C148E_Porcelain"/>
<item index="9" class="java.lang.String" itemvalue="Application.ErrAndOut"/>
<item index="10" class="java.lang.String" itemvalue="JUnit.All in titled"/>
<item index="11" class="java.lang.String" itemvalue="JUnit.All in titled2"/>
<item index="12" class="java.lang.String" itemvalue="JUnit.All in titled3"/>
<item index="13" class="java.lang.String" itemvalue="JUnit.All in titled4"/>
<item index="14" class="java.lang.String" itemvalue="JUnit.All in titled5"/>
</list>
<recent_temporary>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="Application.ErrAndOut"/>
<item index="1" class="java.lang.String" itemvalue="Application.Periods"/>
<item index="2" class="java.lang.String" itemvalue="Application.OutAndErr"/>
<item index="3" class="java.lang.String" itemvalue="Application.C148C_TersePrincess"/>
</list>
</recent_temporary>
<configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
<Host>localhost</Host>
<Port>5050</Port>
</configuration>
</component>