diff options
Diffstat (limited to 'platform/testFramework/src/com')
12 files changed, 110 insertions, 124 deletions
diff --git a/platform/testFramework/src/com/intellij/mock/Mock.java b/platform/testFramework/src/com/intellij/mock/Mock.java index 575bc0991c3e..73d6538c52b9 100644 --- a/platform/testFramework/src/com/intellij/mock/Mock.java +++ b/platform/testFramework/src/com/intellij/mock/Mock.java @@ -321,10 +321,6 @@ public class Mock { public void closeAllFiles() { } - public Editor openTextEditorEnsureNoFocus(@NotNull OpenFileDescriptor descriptor) { - return null; - } - @Override @NotNull public Pair<FileEditor[], FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file, @@ -558,52 +554,55 @@ public class Mock { return false; } + @NotNull @Override public ToolWindow registerToolWindow(@NotNull String id, @NotNull JComponent component, @NotNull ToolWindowAnchor anchor) { - return null; + throw new RuntimeException(); } + @NotNull @Override public ToolWindow registerToolWindow(@NotNull String id, @NotNull JComponent component, @NotNull ToolWindowAnchor anchor, Disposable parentDisposable, boolean canWorkInDumbMode, boolean canCloseContents) { - return null; + throw new RuntimeException(); } + @NotNull @Override public ToolWindow registerToolWindow(@NotNull String id, @NotNull JComponent component, @NotNull ToolWindowAnchor anchor, Disposable parentDisposable, boolean canWorkInDumbMode) { - return null; + throw new RuntimeException(); } + @NotNull @Override - public ToolWindow registerToolWindow(@NotNull String id, @NotNull JComponent component, @NotNull ToolWindowAnchor anchor, Disposable parentDisposable) { - return null; + public ToolWindow registerToolWindow(@NotNull String id, @NotNull JComponent component, @NotNull ToolWindowAnchor anchor, @NotNull Disposable parentDisposable) { + throw new RuntimeException(); } + @NotNull @Override public ToolWindow registerToolWindow(@NotNull final String id, final boolean canCloseContent, @NotNull final ToolWindowAnchor anchor) { - return null; + throw new RuntimeException(); } + @NotNull @Override public ToolWindow registerToolWindow(@NotNull final String id, final boolean canCloseContent, @NotNull final ToolWindowAnchor anchor, final Disposable parentDisposable, final boolean dumbAware) { - return null; + throw new RuntimeException(); } + @NotNull @Override public ToolWindow registerToolWindow(@NotNull final String id, final boolean canCloseContent, @NotNull final ToolWindowAnchor anchor, final boolean secondary) { - return null; - } - - public JComponent getFocusTargetFor(final JComponent comp) { - return null; + throw new RuntimeException(); } @Override @@ -614,19 +613,12 @@ public class Mock { public void activateEditorComponent() { } - public ActionCallback requestFocus(final Component c, final boolean forced) { - return new ActionCallback.Done(); - } - - public ActionCallback requestFocus(final ActiveRunnable command, final boolean forced) { - return new ActionCallback.Done(); - } - @Override public boolean isEditorComponentActive() { return false; } + @NotNull @Override public String[] getToolWindowIds() { return ArrayUtil.EMPTY_STRING_ARRAY; @@ -643,9 +635,10 @@ public class Mock { } @Override - public void invokeLater(Runnable runnable) { + public void invokeLater(@NotNull Runnable runnable) { } + @NotNull @Override public IdeFocusManager getFocusManager() { return IdeFocusManagerHeadless.INSTANCE; diff --git a/platform/testFramework/src/com/intellij/projectView/TestProjectTreeStructure.java b/platform/testFramework/src/com/intellij/projectView/TestProjectTreeStructure.java index 95a7b8b6b9e9..400744bcc9e0 100644 --- a/platform/testFramework/src/com/intellij/projectView/TestProjectTreeStructure.java +++ b/platform/testFramework/src/com/intellij/projectView/TestProjectTreeStructure.java @@ -46,7 +46,7 @@ public class TestProjectTreeStructure extends AbstractProjectTreeStructure imple } public AbstractProjectViewPSIPane createPane() { - final AbstractProjectViewPSIPane pane = new TestProjectViewPSIPane(myProject, this); + final AbstractProjectViewPSIPane pane = new TestProjectViewPSIPane(myProject, this, 9); pane.createComponent(); Disposer.register(this, pane); return pane; diff --git a/platform/testFramework/src/com/intellij/projectView/TestProjectViewPSIPane.java b/platform/testFramework/src/com/intellij/projectView/TestProjectViewPSIPane.java index 9add34347b86..9f85f3b977f9 100644 --- a/platform/testFramework/src/com/intellij/projectView/TestProjectViewPSIPane.java +++ b/platform/testFramework/src/com/intellij/projectView/TestProjectViewPSIPane.java @@ -1,8 +1,22 @@ +/* + * Copyright 2000-2014 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.projectView; import com.intellij.ide.SelectInTarget; import com.intellij.ide.projectView.BaseProjectTreeBuilder; -import com.intellij.ide.projectView.ProjectView; import com.intellij.ide.projectView.impl.AbstractProjectViewPSIPane; import com.intellij.ide.projectView.impl.ProjectAbstractTreeStructureBase; import com.intellij.ide.projectView.impl.ProjectTreeBuilder; @@ -10,10 +24,7 @@ import com.intellij.ide.projectView.impl.ProjectViewTree; import com.intellij.ide.util.treeView.AbstractTreeBuilder; import com.intellij.ide.util.treeView.AbstractTreeUpdater; import com.intellij.ide.util.treeView.AlphaComparator; -import com.intellij.openapi.project.DumbAwareRunnable; import com.intellij.openapi.project.Project; -import com.intellij.openapi.startup.StartupManager; -import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -24,11 +35,13 @@ import javax.swing.tree.DefaultTreeModel; * @author yole */ class TestProjectViewPSIPane extends AbstractProjectViewPSIPane { - private TestProjectTreeStructure myTestTreeStructure; + private final TestProjectTreeStructure myTestTreeStructure; + private final int myWeight; - public TestProjectViewPSIPane(Project project, TestProjectTreeStructure treeStructure) { + public TestProjectViewPSIPane(Project project, TestProjectTreeStructure treeStructure, int weight) { super(project); myTestTreeStructure = treeStructure; + myWeight = weight; } @Override @@ -36,11 +49,6 @@ class TestProjectViewPSIPane extends AbstractProjectViewPSIPane { return null; } - @NonNls - public String getComponentName() { - return "comp name"; - } - @Override protected AbstractTreeUpdater createTreeUpdater(AbstractTreeBuilder treeBuilder) { return new AbstractTreeUpdater(treeBuilder); @@ -55,11 +63,6 @@ class TestProjectViewPSIPane extends AbstractProjectViewPSIPane { protected AbstractTreeUpdater createUpdater() { return createTreeUpdater(this); } - - protected void addTaskToWorker(final Runnable runnable, boolean first, final Runnable postRunnable) { - runnable.run(); - postRunnable.run(); - } }; } @@ -96,26 +99,6 @@ class TestProjectViewPSIPane extends AbstractProjectViewPSIPane { @Override public int getWeight() { - return 0; - } - - public void projectOpened() { - final Runnable runnable = new DumbAwareRunnable() { - @Override - public void run() { - final ProjectView projectView = ProjectView.getInstance(myProject); - projectView.addProjectPane(TestProjectViewPSIPane.this); - } - }; - StartupManager.getInstance(myProject).registerPostStartupActivity(runnable); - } - - public void projectClosed() { - } - - public void initComponent() { } - - public void disposeComponent() { - + return myWeight; } } diff --git a/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java index 870d6d53b998..a86c1c1440dc 100644 --- a/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java @@ -23,7 +23,6 @@ import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.Result; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.editor.*; -import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.editor.actionSystem.EditorActionManager; import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.editor.ex.EditorEx; @@ -46,7 +45,6 @@ import com.intellij.psi.tree.IElementType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; -import org.junit.Assert; import java.awt.*; import java.util.ArrayList; @@ -73,40 +71,45 @@ public class EditorTestUtil { public static void performTypingAction(Editor editor, char c) { EditorActionManager actionManager = EditorActionManager.getInstance(); if (c == BACKSPACE_FAKE_CHAR) { - EditorActionHandler actionHandler = actionManager.getActionHandler(IdeActions.ACTION_EDITOR_BACKSPACE); - actionHandler.execute(editor, DataManager.getInstance().getDataContext()); + executeAction(editor, IdeActions.ACTION_EDITOR_BACKSPACE); } else if (c == SMART_ENTER_FAKE_CHAR) { - EditorActionHandler actionHandler = actionManager.getActionHandler(IdeActions.ACTION_EDITOR_COMPLETE_STATEMENT); - actionHandler.execute(editor, DataManager.getInstance().getDataContext()); + executeAction(editor, IdeActions.ACTION_EDITOR_COMPLETE_STATEMENT); } else if (c == SMART_LINE_SPLIT_CHAR) { - EditorActionHandler actionHandler = actionManager.getActionHandler(IdeActions.ACTION_EDITOR_SPLIT); - actionHandler.execute(editor, DataManager.getInstance().getDataContext()); + executeAction(editor, IdeActions.ACTION_EDITOR_SPLIT); } else if (c == '\n') { - EditorActionHandler actionHandler = actionManager.getActionHandler(IdeActions.ACTION_EDITOR_ENTER); - actionHandler.execute(editor, DataManager.getInstance().getDataContext()); + executeAction(editor, IdeActions.ACTION_EDITOR_ENTER); } else { TypedAction action = actionManager.getTypedAction(); - action.actionPerformed(editor, c, DataManager.getInstance().getDataContext()); + action.actionPerformed(editor, c, DataManager.getInstance().getDataContext(editor.getContentComponent())); } } - public static void performReferenceCopy(DataContext dataContext) { + public static void executeAction(Editor editor, String actionId) { + executeAction(editor, actionId, false); + } + + public static void executeAction(Editor editor, String actionId, boolean assertActionIsEnabled) { ActionManager actionManager = ActionManager.getInstance(); - AnAction action = actionManager.getAction(IdeActions.ACTION_COPY_REFERENCE); - AnActionEvent - event = new AnActionEvent(null, dataContext, "", action.getTemplatePresentation(), - ActionManager.getInstance(), 0); - action.update(event); - Assert.assertTrue(event.getPresentation().isEnabled()); + AnAction action = actionManager.getAction(actionId); + assertNotNull(action); + DataContext dataContext = DataManager.getInstance().getDataContext(editor.getContentComponent()); + AnActionEvent event = new AnActionEvent(null, dataContext, "", action.getTemplatePresentation(), actionManager, 0); + action.beforeActionPerformedUpdate(event); + if (!event.getPresentation().isEnabled()) { + assertFalse("Action " + actionId + " is disabled", assertActionIsEnabled); + return; + } action.actionPerformed(event); } + public static void performReferenceCopy(Editor editor) { + executeAction(editor, IdeActions.ACTION_COPY_REFERENCE, true); + } + public static void performPaste(Editor editor) { - EditorActionManager actionManager = EditorActionManager.getInstance(); - EditorActionHandler actionHandler = actionManager.getActionHandler(IdeActions.ACTION_EDITOR_PASTE); - actionHandler.execute(editor, null, DataManager.getInstance().getDataContext()); + executeAction(editor, IdeActions.ACTION_EDITOR_PASTE, true); } public static List<IElementType> getAllTokens(EditorHighlighter highlighter) { diff --git a/platform/testFramework/src/com/intellij/testFramework/LightPlatformCodeInsightTestCase.java b/platform/testFramework/src/com/intellij/testFramework/LightPlatformCodeInsightTestCase.java index 3c1f96113532..9dedcc6d47a8 100644 --- a/platform/testFramework/src/com/intellij/testFramework/LightPlatformCodeInsightTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/LightPlatformCodeInsightTestCase.java @@ -19,10 +19,7 @@ import com.intellij.codeInsight.generation.actions.CommentByLineCommentAction; import com.intellij.ide.DataManager; import com.intellij.injected.editor.DocumentWindow; import com.intellij.injected.editor.EditorWindow; -import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.CommonDataKeys; -import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.actionSystem.IdeActions; +import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.Result; import com.intellij.openapi.application.ex.PathManagerEx; @@ -145,7 +142,7 @@ public abstract class LightPlatformCodeInsightTestCase extends LightPlatformTest * @throws java.io.IOException */ @NotNull - protected static Document configureFromFileText(@NonNls @NotNull final String fileName, @NonNls @NotNull final String fileText) throws IOException { + protected static Document configureFromFileText(@NonNls @NotNull final String fileName, @NonNls @NotNull final String fileText) { return new WriteCommandAction<Document>(null) { @Override protected void run(@NotNull Result<Document> result) throws Throwable { @@ -353,24 +350,6 @@ public abstract class LightPlatformCodeInsightTestCase extends LightPlatformTest return userMessage + " [" + engineMessage + "]"; } - @Override - public Object getData(String dataId) { - if (CommonDataKeys.EDITOR.is(dataId)) { - return myEditor; - } - if (dataId.equals(AnActionEvent.injectedId(CommonDataKeys.EDITOR.getName()))) { - return InjectedLanguageUtil.getEditorForInjectedLanguageNoCommit(getEditor(), getFile()); - } - if (CommonDataKeys.PSI_FILE.is(dataId)) { - return myFile; - } - if (dataId.equals(AnActionEvent.injectedId(CommonDataKeys.PSI_FILE.getName()))) { - Editor editor = InjectedLanguageUtil.getEditorForInjectedLanguageNoCommit(getEditor(), getFile()); - return editor instanceof EditorWindow ? ((EditorWindow)editor).getInjectedFile() : getFile(); - } - return super.getData(dataId); - } - /** * @return Editor used in test. */ @@ -508,9 +487,7 @@ public abstract class LightPlatformCodeInsightTestCase extends LightPlatformTest CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() { @Override public void run() { - EditorActionManager actionManager = EditorActionManager.getInstance(); - EditorActionHandler actionHandler = actionManager.getActionHandler(actionId); - actionHandler.execute(getEditor(), null, DataManager.getInstance().getDataContext()); + EditorTestUtil.executeAction(getEditor(), actionId); } }, "", null); } diff --git a/platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java b/platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java index 33051b471049..268eb6d0831e 100644 --- a/platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java @@ -722,10 +722,7 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da @Override public Object getData(String dataId) { - if (CommonDataKeys.PROJECT.is(dataId)) { - return ourProject; - } - return null; + return ourProject == null || ourProject.isDisposed() ? null : new TestDataProvider(ourProject).getData(dataId); } protected Sdk getProjectJDK() { diff --git a/platform/testFramework/src/com/intellij/testFramework/ParsingTestCase.java b/platform/testFramework/src/com/intellij/testFramework/ParsingTestCase.java index f000733e8881..46b3adca7557 100644 --- a/platform/testFramework/src/com/intellij/testFramework/ParsingTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/ParsingTestCase.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -89,7 +89,7 @@ public abstract class ParsingTestCase extends PlatformLiteFixture { getApplication().getPicoContainer().registerComponent(new AbstractComponentAdapter(ProgressManager.class.getName(), Object.class) { @Override public Object getComponentInstance(PicoContainer container) throws PicoInitializationException, PicoIntrospectionException { - return new ProgressManagerImpl(getApplication()); + return new ProgressManagerImpl(); } @Override diff --git a/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java b/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java index 347661846e2a..d9b32080f458 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/PlatformTestCase.java @@ -198,6 +198,7 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro } DocumentCommitThread.getInstance().clearQueue(); + UIUtil.dispatchAllInvocationEvents(); } public Project getProject() { diff --git a/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java index 66b59d06d200..548c312614d4 100644 --- a/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java @@ -15,17 +15,27 @@ */ package com.intellij.testFramework; +import com.intellij.ide.projectView.ProjectView; import com.intellij.ide.projectView.ProjectViewNode; import com.intellij.ide.projectView.impl.AbstractProjectViewPSIPane; +import com.intellij.ide.projectView.impl.ProjectViewImpl; import com.intellij.ide.projectView.impl.nodes.BasePsiNode; import com.intellij.ide.util.treeView.AbstractTreeNode; import com.intellij.ide.util.treeView.AbstractTreeStructure; +import com.intellij.openapi.extensions.Extensions; +import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Queryable; import com.intellij.openapi.util.MultiValuesMap; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.wm.ToolWindow; +import com.intellij.openapi.wm.ToolWindowAnchor; +import com.intellij.openapi.wm.ToolWindowEP; +import com.intellij.openapi.wm.ToolWindowId; +import com.intellij.openapi.wm.ex.ToolWindowManagerEx; import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiUtilCore; import com.intellij.util.Function; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.junit.Assert; @@ -151,4 +161,22 @@ public class ProjectViewTestUtil { DefaultMutableTreeNode nodeForElement = getNodeForElement(element, pane); return nodeForElement != null && isExpanded((DefaultMutableTreeNode)nodeForElement.getParent(), pane); } + + public static void setupImpl(@NotNull Project project, boolean loadPaneExtensions) { + ToolWindowManagerEx toolWindowManager = ToolWindowManagerEx.getInstanceEx(project); + ToolWindow toolWindow = toolWindowManager.getToolWindow(ToolWindowId.PROJECT_VIEW); + + if (toolWindow == null) { + ToolWindowEP[] beans = Extensions.getExtensions(ToolWindowEP.EP_NAME); + for (final ToolWindowEP bean : beans) { + if (bean.id.equals(ToolWindowId.PROJECT_VIEW)) { + toolWindow = toolWindowManager.registerToolWindow(bean.id, new JLabel(), ToolWindowAnchor.fromText(bean.anchor), project, + false, bean.canCloseContents); + break; + } + } + } + + ((ProjectViewImpl)ProjectView.getInstance(project)).setupImpl(toolWindow, loadPaneExtensions); + } } diff --git a/platform/testFramework/src/com/intellij/testFramework/TestDataProvider.java b/platform/testFramework/src/com/intellij/testFramework/TestDataProvider.java index cc8376832e36..1ed87bbcb0fa 100644 --- a/platform/testFramework/src/com/intellij/testFramework/TestDataProvider.java +++ b/platform/testFramework/src/com/intellij/testFramework/TestDataProvider.java @@ -20,7 +20,6 @@ import com.intellij.openapi.actionSystem.DataProvider; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.impl.EditorComponentImpl; -import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx; import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; @@ -50,18 +49,21 @@ public class TestDataProvider implements DataProvider { if (CommonDataKeys.PROJECT.is(dataId)) { return myProject; } - else if (CommonDataKeys.EDITOR.is(dataId) || OpenFileDescriptor.NAVIGATE_IN_EDITOR.is(dataId)) { - return FileEditorManager.getInstance(myProject).getSelectedTextEditor(); + FileEditorManagerEx manager = FileEditorManagerEx.getInstanceEx(myProject); + if (manager == null) { + return null; + } + if (CommonDataKeys.EDITOR.is(dataId) || OpenFileDescriptor.NAVIGATE_IN_EDITOR.is(dataId)) { + return manager.getSelectedTextEditor(); } else if (PlatformDataKeys.FILE_EDITOR.is(dataId)) { - Editor editor = FileEditorManager.getInstance(myProject).getSelectedTextEditor(); + Editor editor = manager.getSelectedTextEditor(); return editor == null ? null : TextEditorProvider.getInstance().getTextEditor(editor); } else { Editor editor = (Editor)getData(CommonDataKeys.EDITOR.getName()); if (editor != null) { - FileEditorManagerEx manager = FileEditorManagerEx.getInstanceEx(myProject); - Object managerData = manager.getData(dataId, editor, manager.getSelectedFiles()[0]); + Object managerData = manager.getData(dataId, editor, editor.getCaretModel().getCurrentCaret()); if (managerData != null) { return managerData; } diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java index a309f9acda8f..581ca54b6baa 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java @@ -350,7 +350,8 @@ public interface CodeInsightTestFixture extends IdeaProjectTestFixture { * hint text. Throws an assertion if no such intentions are found or if multiple intentions match the hint text. * * @param hint the text that the intention text should begin with. - * @return the list of matching intentions + * @return the matching intention + * @throws java.lang.AssertionError if no intentions are found or if multiple intentions match the hint text. */ IntentionAction findSingleIntention(@NotNull String hint); diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/HeavyIdeaTestFixtureImpl.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/HeavyIdeaTestFixtureImpl.java index 27a45cbfe99e..72bbff443dfa 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/HeavyIdeaTestFixtureImpl.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/HeavyIdeaTestFixtureImpl.java @@ -205,7 +205,7 @@ class HeavyIdeaTestFixtureImpl extends BaseFixture implements HeavyIdeaTestFixtu Editor editor = (Editor)getData(CommonDataKeys.EDITOR.getName()); if (editor != null) { FileEditorManagerEx manager = FileEditorManagerEx.getInstanceEx(myProject); - return manager.getData(dataId, editor, manager.getSelectedFiles()[0]); + return manager.getData(dataId, editor, editor.getCaretModel().getCurrentCaret()); } else if (LangDataKeys.IDE_VIEW.is(dataId)) { VirtualFile[] contentRoots = ProjectRootManager.getInstance(myProject).getContentRoots(); @@ -217,6 +217,7 @@ class HeavyIdeaTestFixtureImpl extends BaseFixture implements HeavyIdeaTestFixtu } + @NotNull @Override public PsiDirectory[] getDirectories() { return new PsiDirectory[] {psiDirectory}; |