From a9e1406257b330d17d2a3f78f47b2d2113eca97c Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Mon, 18 Mar 2024 22:45:40 +0100 Subject: [PATCH] IJPL-850 extract `intellij.platform.navbar.compatibility.testFramework` module GitOrigin-RevId: 28baaa027dbcf9263731f343ca08885829208ff5 --- .idea/modules.xml | 1 + java/java-tests/intellij.java.tests.iml | 1 + .../ide/navigationToolbar/JavaNavBarTest.java | 2 +- .../com/intellij/ide/navbar/actions/actions.kt | 4 +++- .../ide/navbar/impl/DefaultNavBarItemProvider.kt | 4 +++- ...atform.navbar.compatibility.testFramework.iml | 16 ++++++++++++++++ .../testFramework/src}/testFramework.kt | 3 +-- plugins/kotlin/idea/tests/kotlin.idea.tests.iml | 1 + .../AbstractKotlinNavBarTest.kt | 2 +- 9 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 platform/navbar.compatibility/testFramework/intellij.platform.navbar.compatibility.testFramework.iml rename platform/{lang-impl/src/com/intellij/ide/navbar/tests => navbar.compatibility/testFramework/src}/testFramework.kt (96%) diff --git a/.idea/modules.xml b/.idea/modules.xml index 7213806c38d9..5543eb66b35c 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -1012,6 +1012,7 @@ + diff --git a/java/java-tests/intellij.java.tests.iml b/java/java-tests/intellij.java.tests.iml index 77fa6d9bd46b..3f1b8c3dc3f1 100644 --- a/java/java-tests/intellij.java.tests.iml +++ b/java/java-tests/intellij.java.tests.iml @@ -87,5 +87,6 @@ + \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/ide/navigationToolbar/JavaNavBarTest.java b/java/java-tests/testSrc/com/intellij/ide/navigationToolbar/JavaNavBarTest.java index 931d5b25cb63..4acaabc74929 100644 --- a/java/java-tests/testSrc/com/intellij/ide/navigationToolbar/JavaNavBarTest.java +++ b/java/java-tests/testSrc/com/intellij/ide/navigationToolbar/JavaNavBarTest.java @@ -8,7 +8,7 @@ import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase; import java.util.List; -import static com.intellij.ide.navbar.tests.TestFrameworkKt.contextNavBarPathStrings; +import static com.intellij.platform.navbar.compatibility.testFramework.TestFrameworkKt.contextNavBarPathStrings; public class JavaNavBarTest extends LightJavaCodeInsightFixtureTestCase { @Override diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/actions/actions.kt b/platform/lang-impl/src/com/intellij/ide/navbar/actions/actions.kt index ee23905d2e66..512f9cc68200 100644 --- a/platform/lang-impl/src/com/intellij/ide/navbar/actions/actions.kt +++ b/platform/lang-impl/src/com/intellij/ide/navbar/actions/actions.kt @@ -23,6 +23,7 @@ import com.intellij.psi.PsiDirectory import com.intellij.psi.PsiElement import com.intellij.psi.util.PsiUtilCore import com.intellij.util.containers.toArray +import org.jetbrains.annotations.VisibleForTesting /** * Fast extension data without selection (allows to override cut/copy/paste providers) @@ -59,7 +60,8 @@ internal class BgtDataRule : GetDataRule { } } -internal fun getBgData(project: Project, selection: List>, dataId: String): Any? { +@VisibleForTesting +fun getBgData(project: Project, selection: List>, dataId: String): Any? { val selectedItems = lazy(LazyThreadSafetyMode.NONE) { ApplicationManager.getApplication().assertReadAccessAllowed() selection.mapNotNull { diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/impl/DefaultNavBarItemProvider.kt b/platform/lang-impl/src/com/intellij/ide/navbar/impl/DefaultNavBarItemProvider.kt index 61d09e55085f..2bac3bab6412 100644 --- a/platform/lang-impl/src/com/intellij/ide/navbar/impl/DefaultNavBarItemProvider.kt +++ b/platform/lang-impl/src/com/intellij/ide/navbar/impl/DefaultNavBarItemProvider.kt @@ -19,6 +19,7 @@ import com.intellij.psi.util.PsiUtilCore.ensureValid import com.intellij.psi.util.PsiUtilCore.getVirtualFile import com.intellij.util.concurrency.annotations.RequiresBackgroundThread import com.intellij.util.concurrency.annotations.RequiresReadLock +import org.jetbrains.annotations.VisibleForTesting /** * Delegates old implementations @@ -177,7 +178,8 @@ internal fun ensurePsiFromExtensionIsValid(psi: PsiElement, message: String, cla } } -internal fun compatibilityNavBarItem(o: Any, ext: NavBarModelExtension?): NavBarItem? { +@VisibleForTesting +fun compatibilityNavBarItem(o: Any, ext: NavBarModelExtension?): NavBarItem? { return when (o) { is Project -> { ProjectNavBarItem(o) diff --git a/platform/navbar.compatibility/testFramework/intellij.platform.navbar.compatibility.testFramework.iml b/platform/navbar.compatibility/testFramework/intellij.platform.navbar.compatibility.testFramework.iml new file mode 100644 index 000000000000..f421e5642090 --- /dev/null +++ b/platform/navbar.compatibility/testFramework/intellij.platform.navbar.compatibility.testFramework.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/tests/testFramework.kt b/platform/navbar.compatibility/testFramework/src/testFramework.kt similarity index 96% rename from platform/lang-impl/src/com/intellij/ide/navbar/tests/testFramework.kt rename to platform/navbar.compatibility/testFramework/src/testFramework.kt index 5fb6051323a2..d673eee043b4 100644 --- a/platform/lang-impl/src/com/intellij/ide/navbar/tests/testFramework.kt +++ b/platform/navbar.compatibility/testFramework/src/testFramework.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.navbar.tests +package com.intellij.platform.navbar.compatibility.testFramework import com.intellij.ide.navbar.actions.getBgData import com.intellij.ide.navbar.impl.DefaultNavBarItem @@ -9,7 +9,6 @@ import com.intellij.openapi.actionSystem.DataKey import com.intellij.openapi.project.Project import com.intellij.platform.navbar.NavBarItemPresentation import com.intellij.platform.navbar.backend.NavBarItem -import com.intellij.platform.navbar.backend.NavBarItemProvider import com.intellij.platform.navbar.backend.impl.children import com.intellij.platform.navbar.backend.impl.pathToItem import com.intellij.platform.navbar.ide.contextModel diff --git a/plugins/kotlin/idea/tests/kotlin.idea.tests.iml b/plugins/kotlin/idea/tests/kotlin.idea.tests.iml index 44ab502eb1d5..0c4e6555adb1 100644 --- a/plugins/kotlin/idea/tests/kotlin.idea.tests.iml +++ b/plugins/kotlin/idea/tests/kotlin.idea.tests.iml @@ -138,5 +138,6 @@ + \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/navigationToolbar/AbstractKotlinNavBarTest.kt b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/navigationToolbar/AbstractKotlinNavBarTest.kt index 19a28b4f49d7..fd9d9dd91c44 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/navigationToolbar/AbstractKotlinNavBarTest.kt +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/navigationToolbar/AbstractKotlinNavBarTest.kt @@ -2,8 +2,8 @@ package org.jetbrains.kotlin.idea.navigationToolbar -import com.intellij.ide.navbar.tests.contextNavBarPathStrings import com.intellij.openapi.editor.ex.EditorEx +import com.intellij.platform.navbar.compatibility.testFramework.contextNavBarPathStrings import org.jetbrains.kotlin.idea.base.test.InTextDirectivesUtils import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase