diff --git a/platform/platform-tests/testSrc/com/intellij/codeInsight/navigation/CtrlMouseHandlerTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/CtrlMouseHandlerTest.java similarity index 83% rename from platform/platform-tests/testSrc/com/intellij/codeInsight/navigation/CtrlMouseHandlerTest.java rename to java/java-tests/testSrc/com/intellij/codeInsight/CtrlMouseHandlerTest.java index c259ee5a193d..78baa3554e2f 100644 --- a/platform/platform-tests/testSrc/com/intellij/codeInsight/navigation/CtrlMouseHandlerTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/CtrlMouseHandlerTest.java @@ -1,13 +1,15 @@ -// 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.codeInsight.navigation; +// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.codeInsight; +import com.intellij.codeInsight.navigation.CtrlMouseHandler; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.openapi.editor.RangeMarker; import com.intellij.openapi.editor.colors.EditorColors; import com.intellij.openapi.editor.colors.EditorColorsManager; import com.intellij.openapi.editor.impl.AbstractEditorTest; import com.intellij.openapi.editor.markup.RangeHighlighter; import com.intellij.openapi.editor.markup.TextAttributes; -import com.intellij.testFramework.TestFileType; +import com.intellij.psi.PsiDocumentManager; import com.intellij.testFramework.fixtures.EditorMouseFixture; import com.intellij.util.TestTimeOut; import com.intellij.util.ui.UIUtil; @@ -20,7 +22,7 @@ import java.util.stream.Stream; public class CtrlMouseHandlerTest extends AbstractEditorTest { public void testHighlighterDisappearsOnMouseMovingAway() { - init("class A {}", TestFileType.JAVA); + init("class A {}", JavaFileType.INSTANCE); EditorMouseFixture mouse = mouse(); mouse.ctrl().moveTo(0, 6); assertHighlighted(6, 7); @@ -51,6 +53,9 @@ public class CtrlMouseHandlerTest extends AbstractEditorTest { } private void waitForHighlighting() { + PsiDocumentManager.getInstance(getProject()).commitAllDocuments(); + UIUtil.dispatchAllInvocationEvents(); + CtrlMouseHandler handler = getProject().getService(CtrlMouseHandler.class); TestTimeOut t = TestTimeOut.setTimeout(1, TimeUnit.MINUTES); while (handler.isCalculationInProgress()) { diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/documentation/render/JavaDocRenderTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/documentation/render/JavaDocRenderTest.java index 6a7d5063f937..f6cf8999e637 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/documentation/render/JavaDocRenderTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/documentation/render/JavaDocRenderTest.java @@ -3,6 +3,7 @@ package com.intellij.codeInsight.documentation.render; import com.intellij.codeInsight.folding.CodeFoldingManager; import com.intellij.codeInsight.folding.CodeFoldingSettings; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.openapi.actionSystem.IdeActions; import com.intellij.openapi.application.impl.NonBlockingReadActionImpl; import com.intellij.openapi.editor.CustomFoldRegion; @@ -15,7 +16,6 @@ import com.intellij.openapi.editor.impl.Interval; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.registry.Registry; import com.intellij.psi.PsiDocumentManager; -import com.intellij.testFramework.TestFileType; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -252,7 +252,7 @@ public class JavaDocRenderTest extends AbstractEditorTest { private void configure(@NotNull String text, boolean enableRendering) { EditorSettingsExternalizable.getInstance().setDocCommentRenderingEnabled(enableRendering); - init(text, TestFileType.JAVA); + init(text, JavaFileType.INSTANCE); updateRenderedItems(enableRendering); } diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/JavaEditingTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/JavaEditingTest.java index 903eb6d548e7..bfeabc1f7857 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/JavaEditingTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/JavaEditingTest.java @@ -1,16 +1,16 @@ // Copyright 2000-2018 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.java.codeInsight.editorActions; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.openapi.editor.impl.AbstractEditorTest; -import com.intellij.testFramework.TestFileType; public class JavaEditingTest extends AbstractEditorTest { public void testSmartHomeInJavadoc() { init("/**\n" + " * some text\n" + " */\n" + - "class C {}", - TestFileType.JAVA); + "class C {}", + JavaFileType.INSTANCE); home(); checkResultByText("/**\n" + " * some text\n" + @@ -23,7 +23,7 @@ public class JavaEditingTest extends AbstractEditorTest { " * some text\n" + " */\n" + "class C {}", - TestFileType.JAVA); + JavaFileType.INSTANCE); homeWithSelection(); checkResultByText("/**\n" + " * some text\n" + diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/MoveElementLeftRightTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/MoveElementLeftRightTest.java index 7ae41c618a7b..3a9ed3079669 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/MoveElementLeftRightTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/MoveElementLeftRightTest.java @@ -16,7 +16,7 @@ package com.intellij.java.codeInsight.editorActions; import com.intellij.codeInsight.editorActions.AbstractMoveElementLeftRightTest; -import com.intellij.testFramework.TestFileType; +import com.intellij.ide.highlighter.JavaFileType; public class MoveElementLeftRightTest extends AbstractMoveElementLeftRightTest { public void testMoveLiteralMethodParameter() throws Exception { @@ -134,6 +134,6 @@ public class MoveElementLeftRightTest extends AbstractMoveElementLeftRightTest { @Override protected void configureEditor(String contents) { - init(contents, TestFileType.JAVA); + init(contents, JavaFileType.INSTANCE); } } diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/SelectionQuotingTest.groovy b/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/SelectionQuotingTest.groovy deleted file mode 100644 index dbef41781f32..000000000000 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/SelectionQuotingTest.groovy +++ /dev/null @@ -1,59 +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.java.codeInsight.editorActions - -import com.intellij.codeInsight.CodeInsightSettings -import com.intellij.openapi.editor.impl.AbstractEditorTest -import com.intellij.testFramework.TestFileType -import groovy.transform.CompileStatic -/** - * @author Denis Zhdanov - */ -@CompileStatic -class SelectionQuotingTest extends AbstractEditorTest { - - void testBuggySelection() { - - def initial = '''\ -var a = "a test"; -var b = [a]; -var c = "test test test";\ -''' - def action = { type('"abc')} - - def expected = '''\ -var a = "a test"; -var b = "abc"; -var c = "test test test";\ -''' - - doTest(initial, expected, action, TestFileType.JS) - } - - void doTest(String initial, String expected, Closure action, TestFileType fileType = TestFileType.JAVA) { - configureFromFileText("${getTestName(false)}.$fileType.extension", initial) - def settings = CodeInsightSettings.getInstance() - def old = settings.SURROUND_SELECTION_ON_QUOTE_TYPED - settings.SURROUND_SELECTION_ON_QUOTE_TYPED = true - try { - action() - } - finally { - settings.SURROUND_SELECTION_ON_QUOTE_TYPED = old - } - checkResultByText(expected) - } -} diff --git a/java/java-tests/testSrc/com/intellij/java/openapi/editor/impl/FoldingProcessingOnDocumentModificationTest.java b/java/java-tests/testSrc/com/intellij/java/openapi/editor/impl/FoldingProcessingOnDocumentModificationTest.java index a29a04c79085..fb4a901ad5a6 100644 --- a/java/java-tests/testSrc/com/intellij/java/openapi/editor/impl/FoldingProcessingOnDocumentModificationTest.java +++ b/java/java-tests/testSrc/com/intellij/java/openapi/editor/impl/FoldingProcessingOnDocumentModificationTest.java @@ -16,6 +16,7 @@ package com.intellij.java.openapi.editor.impl; import com.intellij.codeInsight.folding.CodeFoldingManager; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.lang.ASTNode; import com.intellij.lang.folding.FoldingBuilder; import com.intellij.lang.folding.FoldingDescriptor; @@ -26,11 +27,12 @@ import com.intellij.openapi.editor.CaretModel; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.FoldRegion; import com.intellij.openapi.editor.impl.AbstractEditorTest; +import com.intellij.openapi.fileTypes.FileType; +import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.openapi.fileTypes.PlainTextLanguage; import com.intellij.openapi.util.ModificationTracker; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiDocumentManager; -import com.intellij.testFramework.TestFileType; import org.jetbrains.annotations.NotNull; import java.util.Arrays; @@ -51,7 +53,7 @@ public class FoldingProcessingOnDocumentModificationTest extends AbstractEditorT " */\n" + "public class Test {\n" + "}"; - init(text, TestFileType.JAVA); + init(text, JavaFileType.INSTANCE); CaretModel caretModel = getEditor().getCaretModel(); int caretOffset = caretModel.getOffset(); @@ -75,7 +77,7 @@ public class FoldingProcessingOnDocumentModificationTest extends AbstractEditorT " System.out.println();\n" + " System.out.println();\n" + " }\n" + - "}", TestFileType.JAVA); + "}", JavaFileType.INSTANCE); buildInitialFoldRegions(); executeAction(IdeActions.ACTION_COLLAPSE_ALL_REGIONS); @@ -144,7 +146,7 @@ public class FoldingProcessingOnDocumentModificationTest extends AbstractEditorT return true; } }, () -> { - openEditor("\nvalue", TestFileType.TEXT); + openEditor("\nvalue", PlainTextFileType.INSTANCE); checkFoldingState("[FoldRegion +(1:6), placeholder='0']"); valuePlaceholder[0] = 1; runFoldingPass(); @@ -166,7 +168,7 @@ public class FoldingProcessingOnDocumentModificationTest extends AbstractEditorT return setting.get(); } }, () -> { - openEditor("\nvalue", TestFileType.TEXT); + openEditor("\nvalue", PlainTextFileType.INSTANCE); checkFoldingState("[FoldRegion +(1:6), placeholder='foo']"); setting.set(false); runFoldingPass(); @@ -185,10 +187,10 @@ public class FoldingProcessingOnDocumentModificationTest extends AbstractEditorT } private void openJavaEditor(String text) { - openEditor(text, TestFileType.JAVA); + openEditor(text, JavaFileType.INSTANCE); } - private void openEditor(String text, TestFileType fileType) { + private void openEditor(String text, FileType fileType) { init(text, fileType); buildInitialFoldRegions(); runFoldingPass(true); diff --git a/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaAutoIndentLinesTest.java b/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaAutoIndentLinesTest.java index ba9b9cbba06c..e1039f963d50 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaAutoIndentLinesTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaAutoIndentLinesTest.java @@ -15,16 +15,16 @@ */ package com.intellij.java.psi.formatter.java; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.openapi.actionSystem.IdeActions; import com.intellij.openapi.editor.impl.AbstractEditorTest; -import com.intellij.testFramework.TestFileType; public class JavaAutoIndentLinesTest extends AbstractEditorTest { public void testSelection() { init("class C {\n" + "int a = 1;\n" + "}", - TestFileType.JAVA); + JavaFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_AUTO_INDENT_LINES); checkResultByText("class C {\n" + " int a = 1;\n" + diff --git a/java/java-tests/testSrc/com/intellij/openapi/editor/actions/JavaEditorActionTest.java b/java/java-tests/testSrc/com/intellij/openapi/editor/actions/JavaEditorActionTest.java index dbdead829dab..dda219272492 100644 --- a/java/java-tests/testSrc/com/intellij/openapi/editor/actions/JavaEditorActionTest.java +++ b/java/java-tests/testSrc/com/intellij/openapi/editor/actions/JavaEditorActionTest.java @@ -1,37 +1,37 @@ // Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.openapi.editor.actions; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.openapi.actionSystem.IdeActions; import com.intellij.openapi.editor.impl.AbstractEditorTest; -import com.intellij.testFramework.TestFileType; public class JavaEditorActionTest extends AbstractEditorTest { public void testDeleteToWordStartWithEscapeChars() { - init("class Foo { String s = \"a\\nb\"; }", TestFileType.JAVA); + init("class Foo { String s = \"a\\nb\"; }", JavaFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_DELETE_TO_WORD_START); checkResultByText("class Foo { String s = \"a\\n\"; }"); } public void testDeleteToWordEndWithEscapeChars() { - init("class Foo { String s = \"a\\nb\"; }", TestFileType.JAVA); + init("class Foo { String s = \"a\\nb\"; }", JavaFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_DELETE_TO_WORD_END); checkResultByText("class Foo { String s = \"a\\b\"; }"); } public void testToggleCaseForTextAfterEscapedSlash() { - init("class C { String s = \"ab\\\\cd\"; }", TestFileType.JAVA); + init("class C { String s = \"ab\\\\cd\"; }", JavaFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_TOGGLE_CASE); checkResultByText("class C { String s = \"AB\\\\CD\"; }"); } public void testToggleCaseForEscapedChar() { - init("class C { String s = \"ab\\ncd\"; }", TestFileType.JAVA); + init("class C { String s = \"ab\\ncd\"; }", JavaFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_TOGGLE_CASE); checkResultByText("class C { String s = \"AB\\nCD\"; }"); } public void testDeleteToWordStartWithEscapedQuote() { - init("class Foo { String s = \"\\\"a\"; }", TestFileType.JAVA); + init("class Foo { String s = \"\\\"a\"; }", JavaFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_DELETE_TO_WORD_START); checkResultByText("class Foo { String s = \"\\\"\"; }"); } diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceOnDocumentModificationTest.java b/java/java-tests/testSrc/com/intellij/openapi/editor/impl/SoftWrapApplianceOnDocumentModificationTest.java similarity index 97% rename from platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceOnDocumentModificationTest.java rename to java/java-tests/testSrc/com/intellij/openapi/editor/impl/SoftWrapApplianceOnDocumentModificationTest.java index c522b483c1b9..d10f1d0b1ced 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceOnDocumentModificationTest.java +++ b/java/java-tests/testSrc/com/intellij/openapi/editor/impl/SoftWrapApplianceOnDocumentModificationTest.java @@ -1,20 +1,20 @@ -// Copyright 2000-2018 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.openapi.editor.impl.softwrap.mapping; +// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.openapi.editor.impl; import com.intellij.codeInsight.folding.CodeFoldingManager; import com.intellij.codeInsight.generation.actions.CommentByLineCommentAction; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.editor.*; import com.intellij.openapi.editor.ex.DocumentEx; import com.intellij.openapi.editor.ex.util.EditorUtil; -import com.intellij.openapi.editor.impl.AbstractEditorTest; -import com.intellij.openapi.editor.impl.EditorImpl; -import com.intellij.openapi.editor.impl.SoftWrapModelImpl; +import com.intellij.openapi.editor.impl.softwrap.mapping.IncrementalCacheUpdateEvent; +import com.intellij.openapi.editor.impl.softwrap.mapping.SoftWrapAwareDocumentParsingListenerAdapter; import com.intellij.openapi.editor.markup.TextAttributes; +import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.psi.codeStyle.CommonCodeStyleSettings; import com.intellij.testFramework.EditorTestUtil; -import com.intellij.testFramework.TestFileType; import gnu.trove.TIntHashSet; import org.jetbrains.annotations.NotNull; @@ -844,7 +844,7 @@ public class SoftWrapApplianceOnDocumentModificationTest extends AbstractEditorT " }\n" + "\n" + "}"; - init(511, text, TestFileType.JAVA, 10); + init(511, text, JavaFileType.INSTANCE, 10); addCollapsedFoldRegion(text.indexOf("new Runnable"), text.indexOf("System"), "Runnable() { "); @@ -975,7 +975,7 @@ public class SoftWrapApplianceOnDocumentModificationTest extends AbstractEditorT } public void testOnlyMinimalRangeIsRecalculatedOnDocumentChange() { - init("aa bb cc dd ee ff gg hh ii jj", TestFileType.TEXT); + init("aa bb cc dd ee ff gg hh ii jj", PlainTextFileType.INSTANCE); EditorTestUtil.configureSoftWraps(getEditor(), 8); verifySoftWrapPositions(8, 15, 21); @@ -1056,7 +1056,7 @@ public class SoftWrapApplianceOnDocumentModificationTest extends AbstractEditorT } private void init(final int visibleWidthInColumns, @NotNull String fileText, boolean useCustomSoftWrapIndent) { - init(visibleWidthInColumns * DEFAULT_SYMBOL_WIDTH_PX, fileText, TestFileType.TEXT, DEFAULT_SYMBOL_WIDTH_PX, useCustomSoftWrapIndent); + init(visibleWidthInColumns * DEFAULT_SYMBOL_WIDTH_PX, fileText, PlainTextFileType.INSTANCE, DEFAULT_SYMBOL_WIDTH_PX, useCustomSoftWrapIndent); } private void init(final int visibleWidthInColumns, final int symbolWidthInPixels, @NotNull String fileText) { @@ -1064,14 +1064,14 @@ public class SoftWrapApplianceOnDocumentModificationTest extends AbstractEditorT } private void init(final int visibleWidth, @NotNull String fileText, int symbolWidth) { - init(visibleWidth, fileText, TestFileType.TEXT, symbolWidth); + init(visibleWidth, fileText, PlainTextFileType.INSTANCE, symbolWidth); } - private void init(final int visibleWidth, @NotNull String fileText, @NotNull TestFileType fileType, final int symbolWidth) { + private void init(final int visibleWidth, @NotNull String fileText, @NotNull FileType fileType, final int symbolWidth) { init(visibleWidth, fileText, fileType, symbolWidth, true); } - private void init(final int visibleWidth, @NotNull String fileText, @NotNull TestFileType fileType, final int symbolWidth, boolean useCustomSoftWrapIndent) { + private void init(final int visibleWidth, @NotNull String fileText, @NotNull FileType fileType, final int symbolWidth, boolean useCustomSoftWrapIndent) { init(fileText, fileType); EditorTestUtil.configureSoftWraps(getEditor(), visibleWidth, 1000, symbolWidth, useCustomSoftWrapIndent); } diff --git a/platform/platform-tests/testSrc/com/intellij/util/PopupUtilTest.kt b/java/java-tests/testSrc/com/intellij/util/PopupUtilTest.kt similarity index 83% rename from platform/platform-tests/testSrc/com/intellij/util/PopupUtilTest.kt rename to java/java-tests/testSrc/com/intellij/util/PopupUtilTest.kt index 78fb0d8be2a6..645853da38c3 100644 --- a/platform/platform-tests/testSrc/com/intellij/util/PopupUtilTest.kt +++ b/java/java-tests/testSrc/com/intellij/util/PopupUtilTest.kt @@ -1,12 +1,12 @@ -// Copyright 2000-2019 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. +// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.util +import com.intellij.ide.highlighter.JavaFileType import com.intellij.openapi.actionSystem.CommonDataKeys import com.intellij.openapi.actionSystem.PlatformCoreDataKeys import com.intellij.openapi.editor.ex.EditorEx import com.intellij.openapi.editor.impl.AbstractEditorTest import com.intellij.testFramework.MapDataContext -import com.intellij.testFramework.TestFileType import org.junit.Test import java.awt.Dimension import java.awt.Point @@ -15,13 +15,13 @@ import java.awt.Point class PopupUtilTest : AbstractEditorTest() { @Test - fun `test popups positions inside editor`() { + fun testPopupPositionsInsideEditor() { init(""" import org.junit.Test class TestCase { @Test fun test() {} } - """.trimIndent(), TestFileType.TEXT) + """.trimIndent(), JavaFileType.INSTANCE) val editor = editor as EditorEx editor.scrollPane.viewport.apply { viewPosition = Point(0, 0) diff --git a/platform/platform-tests/testSrc/com/intellij/codeInsight/BlockSelectionEditingTest.java b/platform/platform-tests/testSrc/com/intellij/codeInsight/BlockSelectionEditingTest.java deleted file mode 100644 index 937d5455578c..000000000000 --- a/platform/platform-tests/testSrc/com/intellij/codeInsight/BlockSelectionEditingTest.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 2000-2015 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.codeInsight; - -import com.intellij.openapi.editor.FoldRegion; -import com.intellij.openapi.editor.LogicalPosition; -import com.intellij.openapi.editor.SelectionModel; -import com.intellij.openapi.editor.impl.AbstractEditorTest; -import com.intellij.testFramework.TestFileType; - -import java.util.Arrays; - -import static org.junit.Assert.assertArrayEquals; - -public class BlockSelectionEditingTest extends AbstractEditorTest { - - public void testBlockRemovalAndCollapsedFoldRegionsBefore() { - // Inspired by IDEA-69371 - String initialText = - "fold line #1\n" + - "fold line #2\n" + - "initialText line 1\n" + - "initialText line 2\n" + - "initialText line 3"; - - init(initialText, TestFileType.TEXT); - final int foldEndOffset = initialText.indexOf("initialText"); - addCollapsedFoldRegion(0, foldEndOffset, "..."); - int column = "initialText".length(); - final LogicalPosition blockStart = new LogicalPosition(3, column); - final LogicalPosition blockEnd = new LogicalPosition(4, column); - final SelectionModel selectionModel = getEditor().getSelectionModel(); - selectionModel.setBlockSelection(blockStart, blockEnd); - delete(); - delete(); - - String expectedText = - "fold line #1\n" + - "fold line #2\n" + - "initialText line 1\n" + - "initialText line 2\n" + - "initialText line 3"; - assertEquals(expectedText, getEditor().getDocument().getText()); - assertSelectionRanges(new int[][]{{59, 59}, {79, 79}}); - final FoldRegion foldRegion = getFoldRegion(0); - assertNotNull(foldRegion); - assertEquals(0, foldRegion.getStartOffset()); - assertEquals(foldEndOffset, foldRegion.getEndOffset()); - } - - public void testBlockSelectionAndCollapsedFolding() { - String text = - "class Test {\n" + - " private class Inner1 {\n" + - " int i;\n" + - " }\n" + - "\n" + - " private class Inner2 {\n" + - " int i;\n" + - " }\n" + - "}"; - init(text, TestFileType.JAVA); - - int foldStart1 = text.indexOf("Inner1"); - foldStart1 = text.indexOf('{', foldStart1); - int foldEnd1 = text.indexOf('}', foldStart1) + 1; - addCollapsedFoldRegion(foldStart1, foldEnd1, "..."); - - int foldStart2 = text.indexOf('{', foldEnd1); - int foldEnd2 = text.indexOf('}', foldStart2) + 1; - addCollapsedFoldRegion(foldStart2, foldEnd2, "..."); - - LogicalPosition blockStart = new LogicalPosition(1, 4); - LogicalPosition blockEnd = new LogicalPosition(5, 5 + "private".length()); - getEditor().getSelectionModel().setBlockSelection(blockStart, blockEnd); - - assertTrue(getFoldRegion(foldStart1).isExpanded()); - assertFalse(getFoldRegion(foldStart2).isExpanded()); - } - - public void testBlockSelectionOnEmptyFile() { - initText(""); - - getEditor().getSelectionModel().setBlockSelection(new LogicalPosition(0, 0), new LogicalPosition(0, 0)); - - assertArrayEquals(getEditor().getSelectionModel().getBlockSelectionStarts(), new int[]{0}); - assertArrayEquals(getEditor().getSelectionModel().getBlockSelectionEnds(), new int[]{0}); - } -} diff --git a/platform/platform-tests/testSrc/com/intellij/codeInsight/folding/impl/CompositeFoldingBuilderTest.java b/platform/platform-tests/testSrc/com/intellij/codeInsight/folding/impl/CompositeFoldingBuilderTest.java index ccf18c7ea213..a39f718ff127 100644 --- a/platform/platform-tests/testSrc/com/intellij/codeInsight/folding/impl/CompositeFoldingBuilderTest.java +++ b/platform/platform-tests/testSrc/com/intellij/codeInsight/folding/impl/CompositeFoldingBuilderTest.java @@ -16,14 +16,17 @@ package com.intellij.codeInsight.folding.impl; import com.intellij.lang.ASTNode; -import com.intellij.lang.folding.*; +import com.intellij.lang.folding.CustomFoldingBuilder; +import com.intellij.lang.folding.FoldingBuilder; +import com.intellij.lang.folding.FoldingDescriptor; +import com.intellij.lang.folding.LanguageFolding; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.impl.AbstractEditorTest; +import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.openapi.fileTypes.PlainTextLanguage; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; -import com.intellij.testFramework.TestFileType; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -36,7 +39,7 @@ public class CompositeFoldingBuilderTest extends AbstractEditorTest { @Override protected void setUp() throws Exception { super.setUp(); - init("Some plain text to fold", TestFileType.TEXT); + init("Some plain text to fold", PlainTextFileType.INSTANCE); } public void testAllowOnlyOneDescriptorPerTextRange() { diff --git a/platform/platform-tests/testSrc/com/intellij/ide/bookmarks/BookmarkManagerTest.java b/platform/platform-tests/testSrc/com/intellij/ide/bookmarks/BookmarkManagerTest.java index abc29cdfde8c..49ea78285efc 100644 --- a/platform/platform-tests/testSrc/com/intellij/ide/bookmarks/BookmarkManagerTest.java +++ b/platform/platform-tests/testSrc/com/intellij/ide/bookmarks/BookmarkManagerTest.java @@ -12,12 +12,12 @@ import com.intellij.openapi.editor.*; import com.intellij.openapi.editor.impl.AbstractEditorTest; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileEditor.OpenFileDescriptor; +import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiDocumentListener; import com.intellij.psi.PsiDocumentManager; import com.intellij.testFramework.LeakHunter; -import com.intellij.testFramework.TestFileType; import org.intellij.lang.annotations.Language; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -68,7 +68,7 @@ public class BookmarkManagerTest extends AbstractEditorTest { " int i = 1;\n" + " }\n" + "}"; - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); addBookmark(2); List bookmarksBefore = getManager().getBookmarks(); @@ -92,7 +92,7 @@ public class BookmarkManagerTest extends AbstractEditorTest { " int i = 1;\n" + " }\n" + "}"; - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); addBookmark(2); Document document = getEditor().getDocument(); @@ -110,7 +110,7 @@ public class BookmarkManagerTest extends AbstractEditorTest { " int j = 1;\n" + " }\n" + "}"; - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); addBookmark(2); addBookmark(3); @@ -136,7 +136,7 @@ public class BookmarkManagerTest extends AbstractEditorTest { " int j = 1;\n" + " }\n" + "}"; - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); addBookmark(2); addBookmark(3); @@ -153,7 +153,7 @@ public class BookmarkManagerTest extends AbstractEditorTest { for (Bookmark bookmark : bookmarksAfter) { checkBookmarkNavigation(bookmark); } - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); getEditor().getCaretModel().setCaretsAndSelections( Collections.singletonList( new CaretState(getEditor().visualToLogicalPosition(new VisualPosition(2, getEditor().getDocument().getLineEndOffset(2))), null, null))); @@ -168,7 +168,7 @@ public class BookmarkManagerTest extends AbstractEditorTest { " int i = 1;\n" + " }\n" + "}"; - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); addBookmark(2); assertEquals(1, getManager().getBookmarks().size()); diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/EditorMultiCaretPerformanceTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/EditorMultiCaretPerformanceTest.java index 008074e79405..cfc39d2532f9 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/EditorMultiCaretPerformanceTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/EditorMultiCaretPerformanceTest.java @@ -16,9 +16,9 @@ package com.intellij.openapi.editor; import com.intellij.openapi.editor.impl.AbstractEditorTest; +import com.intellij.openapi.fileTypes.StdFileTypes; import com.intellij.openapi.util.text.StringUtil; import com.intellij.testFramework.PlatformTestUtil; -import com.intellij.testFramework.TestFileType; public class EditorMultiCaretPerformanceTest extends AbstractEditorTest { public void testTyping() { @@ -56,7 +56,7 @@ public class EditorMultiCaretPerformanceTest extends AbstractEditorTest { int caretCount = 1000; int charactersToType = 100; String initialText = "\n" + StringUtil.repeat(" \n", caretCount) + ""; - init(initialText, TestFileType.XML); + init(initialText, StdFileTypes.XML); PlatformTestUtil.startPerformanceTest("Typing in XML with large number of carets", 100_000, () -> { for (int i = 0; i < charactersToType; i++) { type('a'); diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/EditorMultiCaretUndoRedoTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/EditorMultiCaretUndoRedoTest.java index d3acf8001f35..30bd19c0d33e 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/EditorMultiCaretUndoRedoTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/EditorMultiCaretUndoRedoTest.java @@ -24,7 +24,7 @@ import com.intellij.openapi.fileEditor.FileEditor; import com.intellij.openapi.fileEditor.TextEditor; import com.intellij.openapi.fileEditor.impl.CurrentEditorProvider; import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; -import com.intellij.testFramework.TestFileType; +import com.intellij.openapi.fileTypes.PlainTextFileType; public class EditorMultiCaretUndoRedoTest extends AbstractEditorTest { private CurrentEditorProvider mySavedCurrentEditorProvider; @@ -130,7 +130,7 @@ public class EditorMultiCaretUndoRedoTest extends AbstractEditorTest { } private void init(String text) { - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); setEditorVisibleSize(1000, 1000); getUndoManager().setEditorProvider(new CurrentEditorProvider() { @Override diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/actions/EditorActionTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/actions/EditorActionTest.java index 4ff621d678fd..94150d672e37 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/actions/EditorActionTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/actions/EditorActionTest.java @@ -8,16 +8,16 @@ import com.intellij.openapi.editor.EditorSettings; import com.intellij.openapi.editor.VisualPosition; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.editor.impl.AbstractEditorTest; +import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.openapi.ide.CopyPasteManager; import com.intellij.testFramework.EditorTestUtil; -import com.intellij.testFramework.TestFileType; import java.awt.datatransfer.StringSelection; public class EditorActionTest extends AbstractEditorTest { public void testDownWithSelectionWhenCaretsAreAllowedInsideTabs() { init("text", - TestFileType.TEXT); + PlainTextFileType.INSTANCE); final EditorSettings editorSettings = getEditor().getSettings(); final boolean old = editorSettings.isCaretInsideTabs(); @@ -33,7 +33,7 @@ public class EditorActionTest extends AbstractEditorTest { public void testPageDownWithSelectionWhenCaretsAreAllowedInsideTabs() { init("line 1\n" + "line 2", - TestFileType.TEXT); + PlainTextFileType.INSTANCE); setEditorVisibleSize(100, 100); final EditorSettings editorSettings = getEditor().getSettings(); @@ -50,7 +50,7 @@ public class EditorActionTest extends AbstractEditorTest { } public void testDuplicateFirstLineWhenSoftWrapsAreOn() { - init("long long text", TestFileType.TEXT); + init("long long text", PlainTextFileType.INSTANCE); EditorTestUtil.configureSoftWraps(getEditor(), 10); executeAction("EditorDuplicate"); @@ -59,7 +59,7 @@ public class EditorActionTest extends AbstractEditorTest { } public void testTabWithSelection() { - init("some text", TestFileType.TEXT); + init("some text", PlainTextFileType.INSTANCE); executeAction("EditorTab"); checkResultByText("some text"); } @@ -69,7 +69,7 @@ public class EditorActionTest extends AbstractEditorTest { "line 1\n" + "line 2\n" + "line 3"; - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); deleteLine(); checkResultByText( "line 1\n" + @@ -82,7 +82,7 @@ public class EditorActionTest extends AbstractEditorTest { "1\n" + "2\n" + "3"; - init(text, TestFileType.TEXT); + init(text, PlainTextFileType.INSTANCE); deleteLine(); deleteLine(); @@ -90,7 +90,7 @@ public class EditorActionTest extends AbstractEditorTest { } public void testDeleteLastNonEmptyLine() { - init("1\n", TestFileType.TEXT); + init("1\n", PlainTextFileType.INSTANCE); deleteLine(); checkResultByText(""); } @@ -98,7 +98,7 @@ public class EditorActionTest extends AbstractEditorTest { public void testDeleteLineBeforeGuardedBlock() { init("\n" + "text\n" + - "#", TestFileType.TEXT); + "#", PlainTextFileType.INSTANCE); getEditor().getDocument().createGuardedBlock(5, 7); // "\n#" deleteLine(); checkResultByText("\n" + @@ -110,20 +110,20 @@ public class EditorActionTest extends AbstractEditorTest { "bla bla\n" + "bla bla\n" + "yyy", - TestFileType.TEXT); + PlainTextFileType.INSTANCE); deleteLine(); checkResultByText("xxxx\n" + "yyy"); } public void testIndentWhitespaceLineWithCaretAtLineStart() { - init(" ", TestFileType.TEXT); + init(" ", PlainTextFileType.INSTANCE); executeAction("EditorIndentLineOrSelection"); checkResultByText(" "); } public void testBackspaceWithStickySelection() { - init("text", TestFileType.TEXT); + init("text", PlainTextFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_TOGGLE_STICKY_SELECTION); executeAction(IdeActions.ACTION_EDITOR_MOVE_CARET_RIGHT); executeAction(IdeActions.ACTION_EDITOR_BACKSPACE); @@ -132,21 +132,21 @@ public class EditorActionTest extends AbstractEditorTest { } public void testMoveRightAtFoldedLineEnd() { - init("line1\nline2\nline3", TestFileType.TEXT); + init("line1\nline2\nline3", PlainTextFileType.INSTANCE); addCollapsedFoldRegion(5, 7, "..."); executeAction(IdeActions.ACTION_EDITOR_MOVE_CARET_RIGHT); assertEquals(new VisualPosition(0, 6), getEditor().getCaretModel().getVisualPosition()); } public void testEnterOnLastLineInOverwriteMode() { - init("text", TestFileType.TEXT); + init("text", PlainTextFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_TOGGLE_OVERWRITE_MODE); executeAction(IdeActions.ACTION_EDITOR_ENTER); checkResultByText("text\n"); } public void testPasteInOneLineMode() { - init("", TestFileType.TEXT); + init("", PlainTextFileType.INSTANCE); ((EditorEx)getEditor()).setOneLineMode(true); CopyPasteManager.getInstance().setContents(new StringSelection("a\rb")); executeAction(IdeActions.ACTION_EDITOR_PASTE); @@ -270,7 +270,7 @@ public class EditorActionTest extends AbstractEditorTest { } public void testToggleCaseForEszett() { - init("\u00df", TestFileType.TEXT); + init("\u00df", PlainTextFileType.INSTANCE); executeAction(IdeActions.ACTION_EDITOR_TOGGLE_CASE); checkResultByText("SS"); } diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/AbstractEditorTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/AbstractEditorTest.java index 6aa48dc95256..797d60ac0523 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/AbstractEditorTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/AbstractEditorTest.java @@ -20,11 +20,12 @@ import com.intellij.openapi.editor.*; import com.intellij.openapi.editor.impl.view.FontLayoutService; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeManager; +import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.testFramework.EditorTestUtil; import com.intellij.testFramework.LightPlatformCodeInsightTestCase; import com.intellij.testFramework.MockFontLayoutService; -import com.intellij.testFramework.TestFileType; import com.intellij.testFramework.fixtures.EditorMouseFixture; +import com.intellij.util.PathUtil; import com.intellij.util.ThrowableRunnable; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -77,18 +78,24 @@ public abstract class AbstractEditorTest extends LightPlatformCodeInsightTestCas } protected void initText(@NotNull @NonNls String fileText) { - init(fileText, TestFileType.TEXT); + init(fileText, PlainTextFileType.INSTANCE); } - protected void init(@NotNull @NonNls String fileText, @NotNull TestFileType type) { - configureFromFileText(getFileName(type), fileText); + protected void init(@NotNull @NonNls String fileText, @NotNull FileType type) { + String name = getFileName(type); + assertFileTypeResolved(type, name); + configureFromFileText(name, fileText); } - private String getFileName(TestFileType type) { - String name = getTestName(false) + type.getExtension(); + private String getFileName(@NotNull FileType type) { + return getTestName(false) + "."+type.getDefaultExtension(); + } + + protected static void assertFileTypeResolved(@NotNull FileType type, @NotNull String path) { + String name = PathUtil.getFileName(path); FileType fileType = FileTypeManager.getInstance().getFileTypeByFileName(name); - assertEquals(type + " file type must be in this test classpath", "."+fileType.getDefaultExtension(), type.getExtension()); - return name; + assertEquals(type + " file type must be in this test classpath, but only " + fileType + " was found by '" + + name + "' file name (with default extension '" + fileType.getDefaultExtension() + "')", type, fileType); } protected FoldRegion addFoldRegion(final int startOffset, final int endOffset, final String placeholder) { diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/AbstractRtlTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/AbstractRtlTest.java index 2d81c7d26596..c50f4f9b75e8 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/AbstractRtlTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/AbstractRtlTest.java @@ -5,7 +5,8 @@ import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.LogicalPosition; import com.intellij.openapi.editor.VisualPosition; import com.intellij.openapi.editor.colors.FontPreferences; -import com.intellij.testFramework.TestFileType; +import com.intellij.openapi.fileTypes.FileType; +import com.intellij.openapi.fileTypes.PlainTextFileType; import java.awt.*; import java.util.ArrayList; @@ -19,10 +20,10 @@ public abstract class AbstractRtlTest extends AbstractEditorTest { private static final char BIDI_BOUNDARY_MARKER = '|'; protected void prepareText(String text) { - prepare(text, TestFileType.TEXT); + prepare(text, PlainTextFileType.INSTANCE); } - protected void prepare(String text, TestFileType fileType) { + protected void prepare(String text, FileType fileType) { init(text.replace(RTL_CHAR_REPRESENTATION, RTL_CHAR), fileType); } diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorColorsSchemeDelegateTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorColorsSchemeDelegateTest.java index 13edf035eca7..2362487d147a 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorColorsSchemeDelegateTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorColorsSchemeDelegateTest.java @@ -27,7 +27,7 @@ import com.intellij.openapi.editor.colors.impl.DelegateColorScheme; import com.intellij.openapi.editor.colors.impl.EditorColorsManagerImpl; import com.intellij.openapi.editor.colors.impl.FontPreferencesImpl; import com.intellij.openapi.editor.ex.EditorEx; -import com.intellij.testFramework.TestFileType; +import com.intellij.openapi.fileTypes.PlainTextFileType; import org.jetbrains.annotations.NotNull; import java.util.function.Consumer; @@ -71,7 +71,7 @@ public class EditorColorsSchemeDelegateTest extends AbstractEditorTest { FontPreferences tempCopy = new FontPreferencesImpl(); globalPrefs.copyTo(tempCopy); try { - init("blah", TestFileType.TEXT); + init("blah", PlainTextFileType.INSTANCE); assertInstanceOf(globalPrefs, ModifiableFontPreferences.class); ((ModifiableFontPreferences)globalPrefs).register(secondaryFont, globalPrefs.getSize(globalPrefs.getFontFamily())); diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorRtlTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorRtlTest.java deleted file mode 100644 index 6927b8696784..000000000000 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorRtlTest.java +++ /dev/null @@ -1,588 +0,0 @@ -// Copyright 2000-2019 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.openapi.editor.impl; - -import com.intellij.openapi.actionSystem.IdeActions; -import com.intellij.openapi.editor.ex.BidiTextDirection; -import com.intellij.openapi.editor.ex.EditorSettingsExternalizable; -import com.intellij.testFramework.TestFileType; - -public class EditorRtlTest extends AbstractRtlTest { - public void testPositionCalculations() { - prepareText("LLRR"); - - checkOffsetConversions(0, lB(0), vL(0), vR(0), xy(0)); - checkOffsetConversions(1, lB(1), vL(1), vR(1), xy(10)); - checkOffsetConversions(2, lB(2), vL(2), vL(4), xy(20), xy(40)); - checkOffsetConversions(3, lB(3), vR(3), vL(3), xy(30)); - checkOffsetConversions(4, lB(4), vR(2), vR(4), xy(20), xy(40)); - - checkLPConversions(0, 0, vL(0), vR(0)); - checkLPConversions(1, 1, vL(1), vR(1)); - checkLPConversions(2, 2, vL(2), vL(4)); - checkLPConversions(3, 3, vR(3), vL(3)); - checkLPConversions(4, 4, vR(2), vR(4)); - checkLPConversions(5, 4, vL(5), vR(5)); - checkLPConversions(lB(1, 0), 4, vL(1, 0)); - checkLPConversions(lF(1, 0), 4, vR(1, 0)); - - checkVPConversions(vL(0), lB(0), xy(0)); - checkVPConversions(vR(0), lF(0), xy(0)); - checkVPConversions(vL(1), lB(1), xy(10)); - checkVPConversions(vR(1), lF(1), xy(10)); - checkVPConversions(vL(2), lB(2), xy(20)); - checkVPConversions(vR(2), lB(4), xy(20)); - checkVPConversions(vL(3), lF(3), xy(30)); - checkVPConversions(vR(3), lB(3), xy(30)); - checkVPConversions(vL(4), lF(2), xy(40)); - checkVPConversions(vR(4), lF(4), xy(40)); - checkVPConversions(vL(5), lB(5), xy(50)); - checkVPConversions(vR(5), lF(5), xy(50)); - checkVPConversions(vL(1, 0), lB(1, 0), xy(0, ls(10))); - checkVPConversions(vR(1, 0), lF(1, 0), xy(0, ls(10))); - - checkXYConversion(xy(0), vL(0)); - checkXYConversion(xy(12), vR(1)); - checkXYConversion(xy(19), vL(2)); - checkXYConversion(xy(21), vR(2)); - checkXYConversion(xy(27), vL(3)); - checkXYConversion(xy(39), vL(4)); - checkXYConversion(xy(41), vR(4)); - checkXYConversion(xy(51), vR(5)); - } - - public void testNumberInsideRtlText() { - prepareText("RR12RR"); - - checkOffsetConversions(0, lB(0), vL(0), vL(6), xy(0), xy(60)); - checkOffsetConversions(1, lB(1), vR(5), vL(5), xy(50)); - checkOffsetConversions(2, lB(2), vR(4), vR(2), xy(40), xy(20)); - checkOffsetConversions(3, lB(3), vL(3), vR(3), xy(30)); - checkOffsetConversions(4, lB(4), vL(4), vL(2), xy(40), xy(20)); - checkOffsetConversions(5, lB(5), vR(1), vL(1), xy(10)); - checkOffsetConversions(6, lB(6), vR(0), vR(6), xy(0), xy(60)); - - checkLPConversions(0, 0, vL(0), vL(6)); - checkLPConversions(1, 1, vR(5), vL(5)); - checkLPConversions(2, 2, vR(4), vR(2)); - checkLPConversions(3, 3, vL(3), vR(3)); - checkLPConversions(4, 4, vL(4), vL(2)); - checkLPConversions(5, 5, vR(1), vL(1)); - checkLPConversions(6, 6, vR(0), vR(6)); - - checkVPConversions(vL(0), lB(0), xy(0)); - checkVPConversions(vR(0), lB(6), xy(0)); - checkVPConversions(vL(1), lF(5), xy(10)); - checkVPConversions(vR(1), lB(5), xy(10)); - checkVPConversions(vL(2), lF(4), xy(20)); - checkVPConversions(vR(2), lF(2), xy(20)); - checkVPConversions(vL(3), lB(3), xy(30)); - checkVPConversions(vR(3), lF(3), xy(30)); - checkVPConversions(vL(4), lB(4), xy(40)); - checkVPConversions(vR(4), lB(2), xy(40)); - checkVPConversions(vL(5), lF(1), xy(50)); - checkVPConversions(vR(5), lB(1), xy(50)); - checkVPConversions(vL(6), lF(0), xy(60)); - checkVPConversions(vR(6), lF(6), xy(60)); - - checkXYConversion(xy(1), vR(0)); - checkXYConversion(xy(9), vL(1)); - checkXYConversion(xy(19), vL(2)); - checkXYConversion(xy(21), vR(2)); - checkXYConversion(xy(30), vL(3)); - checkXYConversion(xy(39), vL(4)); - checkXYConversion(xy(41), vR(4)); - checkXYConversion(xy(50), vL(5)); - checkXYConversion(xy(59), vL(6)); - checkXYConversion(xy(61), vR(6)); - } - - public void testFolding() { - prepareText("RRRRRR"); - addCollapsedFoldRegion(2, 4, "..."); - - checkOffsetConversions(0, lB(0), vL(0), vL(2), xy(0), xy(20)); - checkOffsetConversions(1, lB(1), vR(1), vL(1), xy(10)); - checkOffsetConversions(2, lB(2), vR(0), vR(2), xy(0), xy(20)); - checkOffsetConversions(3, lB(3), vR(2), vR(2), xy(20)); - checkOffsetConversions(4, lB(4), vL(5), vL(7), xy(50), xy(70)); - checkOffsetConversions(5, lB(5), vR(6), vL(6), xy(60)); - checkOffsetConversions(6, lB(6), vR(5), vR(7), xy(50), xy(70)); - - checkLPConversions(0, 0, vL(0), vL(2)); - checkLPConversions(1, 1, vR(1), vL(1)); - checkLPConversions(2, 2, vR(0), vR(2)); - checkLPConversions(3, 3, vR(2), vR(2)); - checkLPConversions(4, 4, vL(5), vL(7)); - checkLPConversions(5, 5, vR(6), vL(6)); - checkLPConversions(6, 6, vR(5), vR(7)); - checkLPConversions(7, 6, vL(8), vR(8)); - - checkVPConversions(vL(0), lB(0), xy(0)); - checkVPConversions(vR(0), lB(2), xy(0)); - checkVPConversions(vL(1), lF(1), xy(10)); - checkVPConversions(vR(1), lB(1), xy(10)); - checkVPConversions(vL(2), lF(0), xy(20)); - checkVPConversions(vR(2), lF(2), xy(20)); - checkVPConversions(vL(3), lF(2), xy(30)); - checkVPConversions(vR(3), lF(2), xy(30)); - checkVPConversions(vL(4), lF(2), xy(40)); - checkVPConversions(vR(4), lF(2), xy(40)); - checkVPConversions(vL(5), lB(4), xy(50)); - checkVPConversions(vR(5), lB(6), xy(50)); - checkVPConversions(vL(6), lF(5), xy(60)); - checkVPConversions(vR(6), lB(5), xy(60)); - checkVPConversions(vL(7), lF(4), xy(70)); - checkVPConversions(vR(7), lF(6), xy(70)); - checkVPConversions(vL(8), lB(7), xy(80)); - checkVPConversions(vR(8), lF(7), xy(80)); - - checkXYConversion(xy(1), vR(0)); - checkXYConversion(xy(9), vL(1)); - checkXYConversion(xy(19), vL(2)); - checkXYConversion(xy(21), vR(2)); - checkXYConversion(xy(30), vL(3)); - checkXYConversion(xy(39), vL(4)); - checkXYConversion(xy(41), vR(4)); - checkXYConversion(xy(50), vL(5)); - checkXYConversion(xy(59), vL(6)); - checkXYConversion(xy(69), vL(7)); - checkXYConversion(xy(71), vR(7)); - checkXYConversion(xy(81), vR(8)); - } - - public void testFoldingWhenLineContainsSeveralFragments() { - prepareText("R R"); - addCollapsedFoldRegion(1, 2, "..."); - - checkOffsetConversions(0, lB(0), vL(0), vL(1), xy(0), xy(10)); - checkOffsetConversions(1, lB(1), vR(0), vR(1), xy(0), xy(10)); - checkOffsetConversions(2, lB(2), vL(4), vL(5), xy(40), xy(50)); - checkOffsetConversions(3, lB(3), vR(4), vR(5), xy(40), xy(50)); - } - - public void testFoldingInInnerBidiRun() { - prepareText("LRRL"); - addCollapsedFoldRegion(1, 2, "..."); - - checkLPConversions(0, 0, vL(0), vR(0)); - checkLPConversions(1, 1, vL(1), vR(1)); - checkLPConversions(2, 2, vL(4), vL(5)); - checkLPConversions(3, 3, vR(4), vR(5)); - checkLPConversions(4, 4, vL(6), vR(6)); - } - - public void testPositionCalculationsWithSoftWraps() { - prepareText("RR RR"); - configureSoftWraps(3); - - checkOffsetConversions(0, lB(0), vL(0), vL(3), xy(0), xy(30)); - checkOffsetConversions(1, lB(1), vR(2), vL(2), xy(20)); - checkOffsetConversions(2, lB(2), vR(1), vL(1), xy(10)); - checkOffsetConversions(3, lB(3), vL(1, 1), vL(1, 3), xy(10, ls(10)), xy(30, ls(10))); - checkOffsetConversions(4, lB(4), vR(1, 2), vL(1, 2), xy(20, ls(10))); - checkOffsetConversions(5, lB(5), vR(1, 1), vR(1, 3), xy(10, ls(10)), xy(30, ls(10))); - checkOffsetConversions(6, lB(5), vR(1, 1), vR(1, 3), xy(10, ls(10)), xy(30, ls(10))); - - checkLPConversions(0, 0, vL(0), vL(3)); - checkLPConversions(1, 1, vR(2), vL(2)); - checkLPConversions(2, 2, vR(1), vL(1)); - checkLPConversions(3, 3, vL(1, 1), vL(1, 3)); - checkLPConversions(4, 4, vR(1, 2), vL(1, 2)); - checkLPConversions(5, 5, vR(1, 1), vR(1, 3)); - checkLPConversions(6, 5, vL(1, 4), vR(1, 4)); - checkLPConversions(lB(1, 0), 5, vL(2, 0)); - checkLPConversions(lF(1, 0), 5, vR(2, 0)); - checkLPConversions(lB(1, 1), 5, vL(2, 1)); - checkLPConversions(lF(1, 1), 5, vR(2, 1)); - - checkVPConversions(0, lB(0), lB(3), xy(0)); - checkVPConversions(1, lF(2), lB(2), xy(10)); - checkVPConversions(2, lF(1), lB(1), xy(20)); - checkVPConversions(3, lF(0), lF(3), xy(30)); - checkVPConversions(4, lF(3), lF(3), xy(40)); - checkVPConversions(5, lF(3), lF(3), xy(50)); - checkVPConversions(vL(1, 0), lB(3), xy(0, ls(10))); - checkVPConversions(vR(1, 0), lB(3), xy(0, ls(10))); - checkVPConversions(vL(1, 1), lB(3), xy(10, ls(10))); - checkVPConversions(vR(1, 1), lB(5), xy(10, ls(10))); - checkVPConversions(vL(1, 2), lF(4), xy(20, ls(10))); - checkVPConversions(vR(1, 2), lB(4), xy(20, ls(10))); - checkVPConversions(vL(1, 3), lF(3), xy(30, ls(10))); - checkVPConversions(vR(1, 3), lF(5), xy(30, ls(10))); - checkVPConversions(vL(1, 4), lB(6), xy(40, ls(10))); - checkVPConversions(vR(1, 4), lF(6), xy(40, ls(10))); - - checkXYConversion(xy(0), vL(0)); - checkXYConversion(xy(2), vR(0)); - checkXYConversion(xy(9), vL(1)); - checkXYConversion(xy(13), vR(1)); - checkXYConversion(xy(18), vL(2)); - checkXYConversion(xy(24), vR(2)); - checkXYConversion(xy(30), vL(3)); - checkXYConversion(xy(31), vR(3)); - checkXYConversion(xy(39), vL(4)); - checkXYConversion(xy(42), vR(4)); - checkXYConversion(xy(47), vL(5)); - checkXYConversion(xy(54), vR(5)); - checkXYConversion(xy(0, ls(10)), vL(1, 0)); - checkXYConversion(xy(2, ls(10)), vR(1, 0)); - checkXYConversion(xy(9, ls(10)), vL(1, 1)); - checkXYConversion(xy(11, ls(10)), vR(1, 1)); - checkXYConversion(xy(18, ls(10)), vL(1, 2)); - checkXYConversion(xy(23, ls(10)), vR(1, 2)); - checkXYConversion(xy(30, ls(10)), vL(1, 3)); - checkXYConversion(xy(34, ls(10)), vR(1, 3)); - checkXYConversion(xy(37, ls(10)), vL(1, 4)); - checkXYConversion(xy(41, ls(10)), vR(1, 4)); - } - - public void testSelectingRtlLineByDraggingMouseFromLeftToRight() { - prepareText("R"); - setEditorVisibleSize(1000, 1000); - mouse().pressAtXY(0, 5).dragToXY(15, 5).release(); - - checkResult("R"); - } - - public void testSelectingRtlLineByDraggingMouseFromRightToLeft() { - prepareText("R"); - setEditorVisibleSize(1000, 1000); - mouse().pressAtXY(15, 5).dragToXY(0, 5).release(); - - checkResult("R"); - } - - public void testMovingCaretToLogicalLineEnd() { - prepareText("R"); - getEditor().getCaretModel().moveToLogicalPosition(lF(1)); - assertVisualPositionsEqual("Wrong visual position", vR(1), getEditor().getCaretModel().getVisualPosition()); - } - - public void testMovingCaretToVisualLineEnd() { - prepareText("R"); - getEditor().getCaretModel().moveToVisualPosition(vR(1)); - assertLogicalPositionsEqual("Wrong logical position", lF(1), getEditor().getCaretModel().getLogicalPosition()); - } - - public void testNavigationWithArrowKeys() { - prepareText("LLRRLL\nLLRRLL"); - assertCaretPosition(vL(0)); - right(); - assertCaretPosition(vL(1)); - right(); - assertCaretPosition(vL(2)); - right(); - assertCaretPosition(vR(2)); - right(); - assertCaretPosition(vL(3)); - right(); - assertCaretPosition(vL(4)); - down(); - assertCaretPosition(vL(1, 4)); - left(); - assertCaretPosition(vR(1, 3)); - left(); - assertCaretPosition(vR(1, 2)); - up(); - assertCaretPosition(vR(2)); - } - - public void testMovingIntoVirtualSpace() { - prepareText("R"); - getEditor().getSettings().setVirtualSpace(true); - assertVisualCaretLocation(0, false); - right(); - assertVisualCaretLocation(0, true); - right(); - assertVisualCaretLocation(1, true); - right(); - assertVisualCaretLocation(1, false); - right(); - assertVisualCaretLocation(2, false); - right(); - assertVisualCaretLocation(3, false); - } - - public void testMovingThroughFoldedRegion() { - prepareText("RRR"); - addCollapsedFoldRegion(1, 2, ".."); - assertVisualCaretLocation(0, false); - right(); - assertVisualCaretLocation(0, true); - right(); - assertVisualCaretLocation(1, true); - right(); - assertVisualCaretLocation(1, true); - right(); - assertVisualCaretLocation(2, true); - right(); - assertVisualCaretLocation(3, true); - right(); - assertVisualCaretLocation(3, true); - right(); - assertVisualCaretLocation(4, true); - } - - public void testMovingCaretWhenSelectionExists() { - prepareText("RRR"); - right(); - right(); - executeAction(IdeActions.ACTION_EDITOR_MOVE_CARET_RIGHT_WITH_SELECTION); - checkResult("RRR"); - right(); - assertVisualCaretLocation(2, true); - } - - public void testMovingCaretWhenSelectionStartsOnDirectionBoundary() { - prepareText("LR"); - right(); - right(); - executeAction(IdeActions.ACTION_EDITOR_MOVE_CARET_RIGHT_WITH_SELECTION); - right(); - assertVisualCaretLocation(2, true); - } - - public void testMoveCaretWithSelection() { - prepareText("LR"); - executeAction(IdeActions.ACTION_EDITOR_MOVE_CARET_RIGHT_WITH_SELECTION); - executeAction(IdeActions.ACTION_EDITOR_MOVE_CARET_RIGHT_WITH_SELECTION); - checkResult("LR"); - } - - public void testNextPrevWord() { - prepareText("LL RR RR LL"); - nextWord(); - assertVisualCaretLocation(2, false); - nextWord(); - assertVisualCaretLocation(3, false); - nextWord(); - assertVisualCaretLocation(3, true); - nextWord(); - assertVisualCaretLocation(5, true); - nextWord(); - assertVisualCaretLocation(8, true); - nextWord(); - assertVisualCaretLocation(8, false); - nextWord(); - assertVisualCaretLocation(11, false); - previousWord(); - assertVisualCaretLocation(9, false); - previousWord(); - assertVisualCaretLocation(8, false); - previousWord(); - assertVisualCaretLocation(8, true); - previousWord(); - assertVisualCaretLocation(6, true); - previousWord(); - assertVisualCaretLocation(3, true); - previousWord(); - assertVisualCaretLocation(3, false); - previousWord(); - assertVisualCaretLocation(0, false); - } - - public void testNextPrevWordWithSelection() { - prepareText("LL RR RR LL"); - moveCaretToNextWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToNextWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToNextWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToNextWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToNextWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToNextWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToNextWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToPreviousWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToPreviousWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToPreviousWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToPreviousWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToPreviousWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToPreviousWordWithSelection(); - checkResult("LL RR RR LL"); - moveCaretToPreviousWordWithSelection(); - checkResult("LL RR RR LL"); - } - - public void testHomeEnd() { - prepareText("RR"); - getEditor().getCaretModel().moveToOffset(1); - home(); - assertVisualCaretLocation(0, false); - end(); - assertVisualCaretLocation(2, false); - } - - public void testHomeEndWithSelection() { - prepareText("RR"); - getEditor().getCaretModel().moveToOffset(1); - homeWithSelection(); - assertVisualCaretLocation(0, false); - checkResult("RR"); - endWithSelection(); - assertVisualCaretLocation(2, false); - checkResult("RR"); - } - - public void testTextStartEnd() { - prepareText("RR"); - getEditor().getCaretModel().moveToOffset(1); - executeAction(IdeActions.ACTION_EDITOR_TEXT_START); - assertVisualCaretLocation(0, false); - executeAction(IdeActions.ACTION_EDITOR_TEXT_END); - assertVisualCaretLocation(2, false); - } - - public void testTextStartEndWithSelection() { - prepareText("RR"); - getEditor().getCaretModel().moveToOffset(1); - executeAction(IdeActions.ACTION_EDITOR_TEXT_START_WITH_SELECTION); - assertVisualCaretLocation(0, false); - checkResult("RR"); - executeAction(IdeActions.ACTION_EDITOR_TEXT_END_WITH_SELECTION); - assertVisualCaretLocation(2, false); - checkResult("RR"); - } - - public void testUsingLexerForBidiLayout() { - prepare("class Foo {\n int R = 1;\n}", TestFileType.JAVA); - right(); - right(); - - checkResult("class Foo {\n int R = 1;\n}"); - } - - public void testJavadocTokensAreMergedForBidiLayoutPurposes() { - prepare("/**R R*/ class Foo {}", TestFileType.JAVA); - for (int i = 0; i < 4; i++) { - right(); - } - - checkResult("/**R R*/ class Foo {}"); - } - - public void testXmlTextIsLaidOutCorrectly() { - prepare("R R", TestFileType.XML); - for (int i = 0; i < 4; i++) { - right(); - } - - checkResult("R R"); - } - - public void testMovingThroughBoundaryBetweenRunsWithNonadjacentLevels() { - prepareText("R=1"); - right(); - assertVisualCaretLocation(0, false); - assertEquals(2, getEditor().getCaretModel().getOffset()); - right(); - assertVisualCaretLocation(1, false); - assertEquals(3, getEditor().getCaretModel().getOffset()); - right(); - assertVisualCaretLocation(1, true); - assertEquals(2, getEditor().getCaretModel().getOffset()); - } - - public void testMovingCaretThroughSoftWrap() { - prepareText("RR RR"); - configureSoftWraps(3); - - right(); - assertVisualCaretLocation(0, true); - right(); - assertVisualCaretLocation(1, true); - right(); - assertVisualCaretLocation(2, true); - right(); - assertVisualCaretLocation(3, true); - right(); - assertVisualCaretLocation(3, false); - right(); - assertVisualCaretLocation(1, 1, false); - right(); - assertVisualCaretLocation(1, 1, true); - right(); - assertVisualCaretLocation(1, 2, true); - right(); - assertVisualCaretLocation(1, 3, true); - } - - public void testLineGeneralDirectionAutodetection() { - prepareText("RLR"); - right(); - checkResult("RLR"); - } - - public void testTabInsideRtlText() { - prepareText("R\tRR"); - right(); - checkResult("R\tRR"); - right(); - checkResult("R\tRR"); - right(); - checkResult("R\tRR"); - right(); - checkResult("R\tRR"); - right(); - checkResult("R\tRR"); - right(); - checkResult("R\tRR"); - right(); - checkResult("R\tRR"); - right(); - checkResult("R\tRR"); - } - - public void testEscapedBackslashInStringLiteral() { - prepare("class C {\n String s = \"R\\\\R\";\n}", TestFileType.JAVA); - right(); - right(); - checkResult("class C {\n String s = \"R\\\\R\";\n}"); - } - - public void testRtlLayoutPersistsAfterEditing() { - prepare("\nRR", TestFileType.TEXT); - delete(); - checkResult("RR"); - assertTrue(getEditor().getCaretModel().getPrimaryCaret().isAtBidiRunBoundary()); - } - - public void testTokenOrderIsAlwaysLtr() { - BidiTextDirection savedValue = EditorSettingsExternalizable.getInstance().getBidiTextDirection(); - try { - EditorSettingsExternalizable.getInstance().setBidiTextDirection(BidiTextDirection.RTL); - prepare("R", TestFileType.XML); - right(); - checkResult("<a>R"); - } - finally { - EditorSettingsExternalizable.getInstance().setBidiTextDirection(savedValue); - } - } - - public void testLineCommentLayout() { - prepare("// R", TestFileType.JAVA); - right(); - checkResult("// R"); - } - - public void testIndentIsTreatedSeparately() { - checkBidiRunBoundaries(" |R", "txt"); - } - - public void testCaretMovementAroundTab() { - prepareText("RR\t"); - left(); - checkResult("RR\t"); - assertVisualCaretLocation(0, true); - } -} diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/FoldingTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/FoldingTest.java index bcd867b99623..1b8a309e0e89 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/FoldingTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/FoldingTest.java @@ -7,9 +7,9 @@ import com.intellij.openapi.diagnostic.DefaultLogger; import com.intellij.openapi.editor.*; import com.intellij.openapi.editor.ex.FoldingListener; import com.intellij.openapi.editor.ex.FoldingModelEx; +import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.TextRange; -import com.intellij.testFramework.TestFileType; import com.intellij.util.DocumentUtil; import org.jetbrains.annotations.NotNull; import org.junit.Assert; @@ -33,7 +33,7 @@ public class FoldingTest extends AbstractEditorTest { "When I use a word,\" Humpty Dumpty said, in a rather scornful tone, \"it means just what I choose it to mean -- neither more nor less." + "The question is,\" said Alice, \"whether you can make words mean so many different things." + "The question is,\" said Humpty Dumpty, \"which is to be master -- that's all.", - TestFileType.TEXT); + PlainTextFileType.INSTANCE); myModel = (FoldingModelEx)getEditor().getFoldingModel(); } diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/ImmediatePainterTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/ImmediatePainterTest.java index fcd3a1e78175..0f3bd7c3737e 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/ImmediatePainterTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/ImmediatePainterTest.java @@ -1,82 +1,15 @@ // 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.openapi.editor.impl; -import com.intellij.ide.ui.AntialiasingType; -import com.intellij.ide.ui.UISettings; -import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.editor.colors.EditorColors; -import com.intellij.openapi.editor.colors.EditorColorsScheme; -import com.intellij.openapi.editor.colors.EditorColorsUtil; -import com.intellij.openapi.editor.impl.view.FontLayoutService; import com.intellij.openapi.editor.markup.HighlighterLayer; -import com.intellij.openapi.editor.markup.HighlighterTargetArea; -import com.intellij.openapi.editor.markup.RangeHighlighter; -import com.intellij.openapi.editor.markup.TextAttributes; -import com.intellij.openapi.util.io.FileUtil; -import com.intellij.rt.execution.junit.FileComparisonFailure; -import com.intellij.testFramework.TestFileType; import com.intellij.ui.JBColor; -import com.intellij.util.ui.ImageUtil; -import org.jetbrains.annotations.NotNull; -import javax.imageio.ImageIO; -import javax.swing.*; import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; /** * @author Pavel Fatin */ -public class ImmediatePainterTest extends AbstractEditorTest { - private String myDefaultFontName; - private int myDefaultFontSize; - private float myDefaultLineSpacing; - private Color myDefaultCaretColor; - private KeyboardFocusManager myDefaultFocusManager; - private AntialiasingType myDefaultAntiAliasing; - - @Override - protected void setUp() throws Exception { - super.setUp(); - - EditorColorsScheme defaultColorScheme = getDefaultColorScheme(); - myDefaultFontName = defaultColorScheme.getEditorFontName(); - myDefaultFontSize = defaultColorScheme.getEditorFontSize(); - myDefaultLineSpacing = defaultColorScheme.getLineSpacing(); - myDefaultCaretColor = defaultColorScheme.getColor(EditorColors.CARET_COLOR); - myDefaultFocusManager = KeyboardFocusManager.getCurrentKeyboardFocusManager(); - myDefaultAntiAliasing = UISettings.getInstance().getEditorAAType(); - - FontLayoutService.setInstance(null); - - setZeroLatencyRenderingEnabled(true); - setDoubleBufferingEnabled(true); - - setFont(Font.MONOSPACED, 14); - setLineSpacing(1.3F); - UISettings.getInstance().setEditorAAType(AntialiasingType.GREYSCALE); - } - - @Override - protected void tearDown() throws Exception { - try { - getDefaultColorScheme().setEditorFontName(myDefaultFontName); - getDefaultColorScheme().setEditorFontSize(myDefaultFontSize); - getDefaultColorScheme().setLineSpacing(myDefaultLineSpacing); - getDefaultColorScheme().setColor(EditorColors.CARET_COLOR, myDefaultCaretColor); - KeyboardFocusManager.setCurrentKeyboardFocusManager(myDefaultFocusManager); - UISettings.getInstance().setEditorAAType(myDefaultAntiAliasing); - } - catch (Throwable e) { - addSuppressedException(e); - } - finally { - super.tearDown(); - } - } - +public class ImmediatePainterTest extends ImmediatePainterTestCase { public void testEmptyFile() throws Exception { init(""); assertRenderedCorrectly(0, 'c'); @@ -107,39 +40,12 @@ public class ImmediatePainterTest extends AbstractEditorTest { assertRenderedCorrectly(1, ' '); } - public void testRestoringCharBeyondLineCaret() throws Exception { - init("//w", TestFileType.JS); - assertRenderedCorrectly(3, ' '); - } - - public void testRestoringCharWithinBlockCaret() throws Exception { - init("//w", TestFileType.JS); - setBlockCursor(true); - assertRenderedCorrectly(3, ' '); - } - - public void testEarlierCharPreservation() throws Exception { - init("//ww", TestFileType.JS); - setBlockCursor(true); - assertRenderedCorrectly(4, ' '); - } - public void testCaretRow() throws Exception { init("a"); setCaretRowVisible(true); assertRenderedCorrectly(1, 'b'); } - public void testCharSyntax() throws Exception { - init("+", TestFileType.JS); - assertRenderedCorrectly(1, '1'); - } - - public void testPreviousCharSyntax() throws Exception { - init("1", TestFileType.JS); - assertRenderedCorrectly(1, '+'); - } - public void testHighlighterBackground() throws Exception { init("a"); addLineHighlighter(0, 1, HighlighterLayer.ERROR, background(JBColor.GREEN)); @@ -204,138 +110,4 @@ public class ImmediatePainterTest extends AbstractEditorTest { // assertTypedCorrectly(1, '+'); //} - protected void init(String text) { - init(text, TestFileType.TEXT); - - getEditor().getSettings().setAdditionalLinesCount(0); - getEditor().getSettings().setAdditionalColumnsCount(3); - - getEditor().getSettings().setCaretRowShown(false); - } - - private void assertRenderedCorrectly(int offset, char c) throws IOException { - getEditor().getCaretModel().getPrimaryCaret().moveToOffset(offset); - - JComponent editorComponent = getEditor().getContentComponent(); - Dimension size = editorComponent.getPreferredSize(); - editorComponent.setSize(size); - - KeyboardFocusManager.setCurrentKeyboardFocusManager(new MockFocusManager(editorComponent)); - - BufferedImage image = ImageUtil.createImage(size.width, size.height, BufferedImage.TYPE_INT_RGB); - Graphics2D graphics = image.createGraphics(); - - BufferedImage immediateImage; - - DataContext dataContext = ((EditorImpl)getEditor()).getDataContext(); - - try { - editorComponent.paint(graphics); - ((EditorImpl)getEditor()).processKeyTypedImmediately(c, graphics, dataContext); - immediateImage = copy(image); - ((EditorImpl)getEditor()).processKeyTypedNormally(c, dataContext); - editorComponent.paint(graphics); - } - finally { - graphics.dispose(); - } - - assertEqual(immediateImage, image); - } - - private static BufferedImage copy(BufferedImage image) { - //noinspection UndesirableClassUsage - return new BufferedImage(image.getColorModel(), - image.copyData(null), - image.getColorModel().isAlphaPremultiplied(), - null); - } - - private void assertEqual(BufferedImage actualImage, BufferedImage expectedImage) throws IOException { - if (expectedImage.getWidth() != actualImage.getWidth()) { - fail("Unexpected image width", expectedImage, actualImage); - } - if (expectedImage.getHeight() != actualImage.getHeight()) { - fail("Unexpected image height", expectedImage, actualImage); - } - for (int i = 0; i < expectedImage.getWidth(); i++) { - for (int j = 0; j < expectedImage.getHeight(); j++) { - if (expectedImage.getRGB(i, j) != actualImage.getRGB(i, j)) { - fail("Unexpected image contents", expectedImage, actualImage); - } - } - } - } - - private void fail(@NotNull String message, - @NotNull BufferedImage expectedImage, - @NotNull BufferedImage actualImage) throws IOException { - - File expectedImageFile = FileUtil.createTempFile(getName() + "-expected", ".png", false); - addTmpFileToKeep(expectedImageFile.toPath()); - ImageIO.write(expectedImage, "png", expectedImageFile); - - File actualImageFile = FileUtil.createTempFile(getName() + "-actual", ".png", false); - addTmpFileToKeep(actualImageFile.toPath()); - ImageIO.write(actualImage, "png", actualImageFile); - - throw new FileComparisonFailure(message, - expectedImageFile.getAbsolutePath(), actualImageFile.getAbsolutePath(), - expectedImageFile.getAbsolutePath(), actualImageFile.getAbsolutePath()); - } - - private RangeHighlighter addLineHighlighter(int startOffset, int endOffset, int layer, TextAttributes attributes) { - return getEditor().getMarkupModel().addRangeHighlighter(startOffset, endOffset, layer, attributes, HighlighterTargetArea.LINES_IN_RANGE); - } - - private RangeHighlighter addRangeHighlighter(int startOffset, int endOffset, int layer, TextAttributes attributes) { - return getEditor().getMarkupModel().addRangeHighlighter(startOffset, endOffset, layer, attributes, HighlighterTargetArea.EXACT_RANGE); - } - - private void setCaretRowVisible(boolean visible) { - getEditor().getSettings().setCaretRowShown(visible); - } - - private void setLineCursorWidth(int width) { - getEditor().getSettings().setLineCursorWidth(width); - } - - private static void setCaretColor(Color color) { - getDefaultColorScheme().setColor(EditorColors.CARET_COLOR, color); - } - - private static void setFont(String name, int size) { - getDefaultColorScheme().setEditorFontName(name); - getDefaultColorScheme().setEditorFontSize(size); - } - - private static void setLineSpacing(float lineSpacing) { - getDefaultColorScheme().setLineSpacing(lineSpacing); - } - - private static EditorColorsScheme getDefaultColorScheme() { - return EditorColorsUtil.getGlobalOrDefaultColorScheme(); - } - - private static void setZeroLatencyRenderingEnabled(boolean enabled) { - ImmediatePainter.ENABLED.setValue(enabled); - } - - private static void setDoubleBufferingEnabled(boolean enabled) { - ImmediatePainter.DOUBLE_BUFFERING.setValue(enabled); - } - - private void setBlockCursor(boolean blockCursor) { - getEditor().getSettings().setBlockCursor(blockCursor); - } - - @NotNull - private static TextAttributes background(Color color) { - return new TextAttributes(null, color, null, null, Font.PLAIN); - } - - @NotNull - private static TextAttributes foreground(Color color) { - return new TextAttributes(color, null, null, null, Font.PLAIN); - } } \ No newline at end of file diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/ImmediatePainterTestCase.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/ImmediatePainterTestCase.java new file mode 100644 index 000000000000..e4649c908aea --- /dev/null +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/ImmediatePainterTestCase.java @@ -0,0 +1,210 @@ +// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.openapi.editor.impl; + +import com.intellij.ide.ui.AntialiasingType; +import com.intellij.ide.ui.UISettings; +import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.editor.Editor; +import com.intellij.openapi.editor.colors.EditorColors; +import com.intellij.openapi.editor.colors.EditorColorsScheme; +import com.intellij.openapi.editor.colors.EditorColorsUtil; +import com.intellij.openapi.editor.impl.view.FontLayoutService; +import com.intellij.openapi.editor.markup.HighlighterTargetArea; +import com.intellij.openapi.editor.markup.RangeHighlighter; +import com.intellij.openapi.editor.markup.TextAttributes; +import com.intellij.openapi.fileTypes.PlainTextFileType; +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.rt.execution.junit.FileComparisonFailure; +import com.intellij.util.ui.ImageUtil; +import org.jetbrains.annotations.NotNull; + +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +public abstract class ImmediatePainterTestCase extends AbstractEditorTest { + private String myDefaultFontName; + private int myDefaultFontSize; + private float myDefaultLineSpacing; + private Color myDefaultCaretColor; + private KeyboardFocusManager myDefaultFocusManager; + private AntialiasingType myDefaultAntiAliasing; + + @Override + protected void setUp() throws Exception { + super.setUp(); + + EditorColorsScheme defaultColorScheme = getDefaultColorScheme(); + myDefaultFontName = defaultColorScheme.getEditorFontName(); + myDefaultFontSize = defaultColorScheme.getEditorFontSize(); + myDefaultLineSpacing = defaultColorScheme.getLineSpacing(); + myDefaultCaretColor = defaultColorScheme.getColor(EditorColors.CARET_COLOR); + myDefaultFocusManager = KeyboardFocusManager.getCurrentKeyboardFocusManager(); + myDefaultAntiAliasing = UISettings.getInstance().getEditorAAType(); + + FontLayoutService.setInstance(null); + + setZeroLatencyRenderingEnabled(true); + setDoubleBufferingEnabled(true); + + setFont(Font.MONOSPACED, 14); + setLineSpacing(1.3F); + UISettings.getInstance().setEditorAAType(AntialiasingType.GREYSCALE); + } + + @Override + protected void tearDown() throws Exception { + try { + getDefaultColorScheme().setEditorFontName(myDefaultFontName); + getDefaultColorScheme().setEditorFontSize(myDefaultFontSize); + getDefaultColorScheme().setLineSpacing(myDefaultLineSpacing); + getDefaultColorScheme().setColor(EditorColors.CARET_COLOR, myDefaultCaretColor); + KeyboardFocusManager.setCurrentKeyboardFocusManager(myDefaultFocusManager); + UISettings.getInstance().setEditorAAType(myDefaultAntiAliasing); + } + catch (Throwable e) { + addSuppressedException(e); + } + finally { + super.tearDown(); + } + } + + protected void assertRenderedCorrectly(int offset, char c) throws IOException { + Editor editor = getEditor(); + editor.getCaretModel().getPrimaryCaret().moveToOffset(offset); + + JComponent editorComponent = editor.getContentComponent(); + Dimension size = editorComponent.getPreferredSize(); + editorComponent.setSize(size); + + KeyboardFocusManager.setCurrentKeyboardFocusManager(new MockFocusManager(editorComponent)); + + BufferedImage image = ImageUtil.createImage(size.width, size.height, BufferedImage.TYPE_INT_RGB); + Graphics2D graphics = image.createGraphics(); + + BufferedImage immediateImage; + + DataContext dataContext = ((EditorImpl)editor).getDataContext(); + + try { + editorComponent.paint(graphics); + ((EditorImpl)editor).processKeyTypedImmediately(c, graphics, dataContext); + immediateImage = copy(image); + ((EditorImpl)editor).processKeyTypedNormally(c, dataContext); + editorComponent.paint(graphics); + } + finally { + graphics.dispose(); + } + + assertEqual(immediateImage, image); + } + + protected void assertEqual(BufferedImage actualImage, BufferedImage expectedImage) throws IOException { + if (expectedImage.getWidth() != actualImage.getWidth()) { + fail("Unexpected image width", expectedImage, actualImage); + } + if (expectedImage.getHeight() != actualImage.getHeight()) { + fail("Unexpected image height", expectedImage, actualImage); + } + for (int i = 0; i < expectedImage.getWidth(); i++) { + for (int j = 0; j < expectedImage.getHeight(); j++) { + if (expectedImage.getRGB(i, j) != actualImage.getRGB(i, j)) { + fail("Unexpected image contents", expectedImage, actualImage); + } + } + } + } + + private void fail(@NotNull String message, + @NotNull BufferedImage expectedImage, + @NotNull BufferedImage actualImage) throws IOException { + + File expectedImageFile = FileUtil.createTempFile(getName() + "-expected", ".png", false); + addTmpFileToKeep(expectedImageFile.toPath()); + ImageIO.write(expectedImage, "png", expectedImageFile); + + File actualImageFile = FileUtil.createTempFile(getName() + "-actual", ".png", false); + addTmpFileToKeep(actualImageFile.toPath()); + ImageIO.write(actualImage, "png", actualImageFile); + + throw new FileComparisonFailure(message, + expectedImageFile.getAbsolutePath(), actualImageFile.getAbsolutePath(), + expectedImageFile.getAbsolutePath(), actualImageFile.getAbsolutePath()); + } + + private static BufferedImage copy(BufferedImage image) { + //noinspection UndesirableClassUsage + return new BufferedImage(image.getColorModel(), + image.copyData(null), + image.getColorModel().isAlphaPremultiplied(), + null); + } + protected void init(String text) { + init(text, PlainTextFileType.INSTANCE); + + getEditor().getSettings().setAdditionalLinesCount(0); + getEditor().getSettings().setAdditionalColumnsCount(3); + + getEditor().getSettings().setCaretRowShown(false); + } + + protected RangeHighlighter addLineHighlighter(int startOffset, int endOffset, int layer, TextAttributes attributes) { + return getEditor().getMarkupModel().addRangeHighlighter(startOffset, endOffset, layer, attributes, HighlighterTargetArea.LINES_IN_RANGE); + } + + protected RangeHighlighter addRangeHighlighter(int startOffset, int endOffset, int layer, TextAttributes attributes) { + return getEditor().getMarkupModel().addRangeHighlighter(startOffset, endOffset, layer, attributes, HighlighterTargetArea.EXACT_RANGE); + } + + protected void setCaretRowVisible(boolean visible) { + getEditor().getSettings().setCaretRowShown(visible); + } + + protected void setLineCursorWidth(int width) { + getEditor().getSettings().setLineCursorWidth(width); + } + + protected static void setCaretColor(Color color) { + getDefaultColorScheme().setColor(EditorColors.CARET_COLOR, color); + } + + protected static void setFont(String name, int size) { + getDefaultColorScheme().setEditorFontName(name); + getDefaultColorScheme().setEditorFontSize(size); + } + + protected static void setLineSpacing(float lineSpacing) { + getDefaultColorScheme().setLineSpacing(lineSpacing); + } + + protected static EditorColorsScheme getDefaultColorScheme() { + return EditorColorsUtil.getGlobalOrDefaultColorScheme(); + } + + protected static void setZeroLatencyRenderingEnabled(boolean enabled) { + ImmediatePainter.ENABLED.setValue(enabled); + } + + protected static void setDoubleBufferingEnabled(boolean enabled) { + ImmediatePainter.DOUBLE_BUFFERING.setValue(enabled); + } + + protected void setBlockCursor(boolean blockCursor) { + getEditor().getSettings().setBlockCursor(blockCursor); + } + + @NotNull + protected static TextAttributes background(Color color) { + return new TextAttributes(null, color, null, null, Font.PLAIN); + } + + @NotNull + protected static TextAttributes foreground(Color color) { + return new TextAttributes(color, null, null, null, Font.PLAIN); + } +} diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/softwrap/SoftWrapTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/softwrap/SoftWrapTest.java index 876d49424d8f..acb84c37989e 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/softwrap/SoftWrapTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/softwrap/SoftWrapTest.java @@ -4,8 +4,8 @@ package com.intellij.openapi.editor.impl.softwrap; import com.intellij.openapi.editor.FoldRegion; import com.intellij.openapi.editor.SoftWrap; import com.intellij.openapi.editor.impl.AbstractEditorTest; +import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.testFramework.EditorTestUtil; -import com.intellij.testFramework.TestFileType; import java.util.ArrayList; import java.util.List; @@ -58,7 +58,7 @@ public class SoftWrapTest extends AbstractEditorTest { assertTrue("Missing closing fold marker tag: " + text, foldInsertPosition == 0); cleanedText.append(text.substring(pos)); - init(cleanedText.toString(), TestFileType.TEXT); + init(cleanedText.toString(), PlainTextFileType.INSTANCE); for (MyFoldRegion region : foldRegions) { FoldRegion r = addFoldRegion(region.startPos, region.endPos, region.placeholder); diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/vfs/encoding/FileEncodingTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/vfs/encoding/FileEncodingTest.java index a650db4379cb..2a26b28e0da7 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/vfs/encoding/FileEncodingTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/vfs/encoding/FileEncodingTest.java @@ -1104,21 +1104,16 @@ public class FileEncodingTest extends HeavyPlatformTestCase implements TestDialo public void testForcedCharsetOverridesFileEncodingProvider() throws IOException { final String ext = "yyy"; - class TestFileType extends LanguageFileType { - protected TestFileType() { super(new Language("test") {}); } + class MyForcedFileType extends LanguageFileType { + protected MyForcedFileType() { super(new Language("test") {}); } @Override public @NotNull String getName() { return "Test"; } @Override public @NotNull String getDescription() { return "Test"; } @Override public @NotNull String getDefaultExtension() { return ext; } @Override public @Nullable Icon getIcon() { return null; } @Override public String getCharset(@NotNull VirtualFile file, byte @NotNull [] content) { return StandardCharsets.ISO_8859_1.name(); } } - TestFileType fileType = new TestFileType(); - FileEncodingProvider encodingProvider = new FileEncodingProvider() { - @Override - public Charset getEncoding(@NotNull VirtualFile virtualFile) { - return StandardCharsets.UTF_16; - } - }; + MyForcedFileType fileType = new MyForcedFileType(); + FileEncodingProvider encodingProvider = __ -> StandardCharsets.UTF_16; FileEncodingProvider.EP_NAME.getPoint().registerExtension(encodingProvider, getTestRootDisposable()); FileTypeManagerImpl fileTypeManager = (FileTypeManagerImpl)FileTypeManagerEx.getInstanceEx(); fileTypeManager.registerFileType(fileType, List.of(new ExtensionFileNameMatcher(ext)), getTestRootDisposable()); @@ -1128,12 +1123,7 @@ public class FileEncodingTest extends HeavyPlatformTestCase implements TestDialo } public void testDetectedCharsetOverridesFileEncodingProvider() throws IOException { - FileEncodingProvider encodingProvider = new FileEncodingProvider() { - @Override - public Charset getEncoding(@NotNull VirtualFile virtualFile) { - return WINDOWS_1251; - } - }; + FileEncodingProvider encodingProvider = __ -> WINDOWS_1251; FileEncodingProvider.EP_NAME.getPoint().registerExtension(encodingProvider, getTestRootDisposable()); VirtualFile file = createTempFile("yyy", NO_BOM, "Some text" + THREE_RUSSIAN_LETTERS, StandardCharsets.UTF_8); assertEquals(StandardCharsets.UTF_8, file.getCharset()); diff --git a/platform/testFramework/src/com/intellij/testFramework/TestFileType.java b/platform/testFramework/src/com/intellij/testFramework/TestFileType.java deleted file mode 100644 index 3b4590f8e9c0..000000000000 --- a/platform/testFramework/src/com/intellij/testFramework/TestFileType.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2000-2010 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.testFramework; - -/** - * Encapsulates information about target test file type in order to reduce possibility of mis-typing. - * - * @author Denis Zhdanov - */ -public enum TestFileType { - - JAVA("java"), SQL("sql"), TEXT("txt"), XML("xml"), HTML("html"), XHTML("xhtml"), JS("js"); - - private final String myExtension; - - TestFileType(String extension) { - myExtension = "." + extension; - } - - public String getExtension() { - return myExtension; - } -} diff --git a/xml/tests/src/com/intellij/codeInsight/editorActions/moveLeftRight/XmlMoveLeftRightTest.java b/xml/tests/src/com/intellij/codeInsight/editorActions/moveLeftRight/XmlMoveLeftRightTest.java index d06c6f8dc99f..63f8ea9eca5b 100644 --- a/xml/tests/src/com/intellij/codeInsight/editorActions/moveLeftRight/XmlMoveLeftRightTest.java +++ b/xml/tests/src/com/intellij/codeInsight/editorActions/moveLeftRight/XmlMoveLeftRightTest.java @@ -16,7 +16,7 @@ package com.intellij.codeInsight.editorActions.moveLeftRight; import com.intellij.codeInsight.editorActions.AbstractMoveElementLeftRightTest; -import com.intellij.testFramework.TestFileType; +import com.intellij.ide.highlighter.XmlFileType; public class XmlMoveLeftRightTest extends AbstractMoveElementLeftRightTest { public void testMoveAttributes() throws Exception { @@ -26,6 +26,6 @@ public class XmlMoveLeftRightTest extends AbstractMoveElementLeftRightTest { @Override protected void configureEditor(String contents) { - init(contents, TestFileType.XML); + init(contents, XmlFileType.INSTANCE); } }