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