Files
openide/java/java-tests/testSrc/com/intellij/projectView/AbstractProjectViewTest.kt
Sergey Malenkov 95d26358c4 remove useless javadoc
GitOrigin-RevId: e9b834f5c1eb2aa74fb83df580e550d974af26b1
2020-01-28 10:37:03 +00:00

64 lines
2.6 KiB
Kotlin

// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.projectView
import com.intellij.ide.projectView.ProjectView
import com.intellij.ide.projectView.ProjectViewSettings
import com.intellij.ide.projectView.impl.AbstractProjectViewPane
import com.intellij.ide.projectView.impl.PackageViewPane
import com.intellij.ide.projectView.impl.ProjectViewImpl
import com.intellij.ide.projectView.impl.ProjectViewPane
import com.intellij.ide.scopeView.ScopeViewPane
import com.intellij.psi.search.scope.ProblemsScope
import com.intellij.psi.search.scope.ProjectFilesScope
import com.intellij.psi.search.scope.packageSet.NamedScope
import com.intellij.testFramework.PlatformTestUtil
import com.intellij.testFramework.TestSourceBasedTestCase
import com.intellij.ui.tree.TreeTestUtil
import com.intellij.ui.tree.ui.DefaultTreeUI
import javax.swing.JTree
import javax.swing.UIManager
abstract class AbstractProjectViewTest : TestSourceBasedTestCase() {
override fun getTestPath(): String? = null
override fun setUp() {
// TODO: move the following line to HeadlessLafManagerImpl
// TODO: when FilteringTreeBuilderTest#testFilter is fixed
UIManager.put("TreeUI", DefaultTreeUI::class.java.name)
super.setUp()
}
protected val projectView: ProjectViewImpl
get() = ProjectView.getInstance(project) as ProjectViewImpl
protected val currentSettings: ProjectViewSettings
get() = ProjectViewSettings.Delegate(project, projectView.currentViewId)
protected val currentPane: AbstractProjectViewPane
get() = projectView.currentProjectViewPane
protected val currentTree: JTree
get() = currentPane.tree
protected fun createTreeTest() = TreeTestUtil(currentTree)
protected fun waitWhileBusy() = PlatformTestUtil.waitWhileBusy(currentTree)
protected fun selectProjectPane() = selectProjectViewPane(ProjectViewPane.ID, null)
protected fun selectPackagesPane() = selectProjectViewPane(PackageViewPane.ID, null)
protected fun selectProjectFilesPane() = selectScopeViewPane(ProjectFilesScope.INSTANCE)
protected fun selectProblemsPane() = selectScopeViewPane(ProblemsScope.INSTANCE)
protected fun selectScopeViewPane(scope: NamedScope) = selectProjectViewPane(ScopeViewPane.ID, scope.toString() + "; " + scope.javaClass)
private fun selectProjectViewPane(id: String, subId: String?) {
PlatformTestUtil.waitForCallback(projectView.changeViewCB(id, subId))
assertEquals(id, currentPane.id)
if (subId != null) assertEquals(subId, currentPane.subId)
waitWhileBusy()
}
}