mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-18 17:20:54 +07:00
Fixes IDEA-339055 `Extend selection` doesn't select qualifier of string templates properly GitOrigin-RevId: 5008dfa9a1f448feda4c588362bde4e16fe6a810
256 lines
6.1 KiB
Java
256 lines
6.1 KiB
Java
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
|
package com.intellij.codeInsight;
|
|
|
|
import com.intellij.BasicDefaultLightProjectDescriptor;
|
|
import com.intellij.PathJavaTestUtil;
|
|
import com.intellij.openapi.application.ApplicationManager;
|
|
import com.intellij.openapi.application.WriteAction;
|
|
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
|
|
import com.intellij.openapi.util.text.StringUtil;
|
|
import com.intellij.openapi.vfs.VfsUtil;
|
|
import com.intellij.openapi.vfs.VirtualFile;
|
|
import com.intellij.psi.PsiManager;
|
|
import com.intellij.testFramework.LightProjectDescriptor;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
import java.io.IOException;
|
|
|
|
public abstract class AbstractBasicJavaSelectWordTest extends SelectWordTestBase {
|
|
@Override
|
|
protected @NotNull String getTestDataPath() {
|
|
return PathJavaTestUtil.getCommunityJavaTestDataPath();
|
|
}
|
|
|
|
@Override
|
|
protected @NotNull LightProjectDescriptor getProjectDescriptor() {
|
|
return new BasicDefaultLightProjectDescriptor();
|
|
}
|
|
|
|
|
|
public void testTest1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testTest2() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testIfThenElse1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testIfThenElse2() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testElseIf() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testMiddleElseIf() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testJavaDoc1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testParams1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testCall1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testCall2() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testCallMultiline() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testCallMultiline2() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testBlock1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testBlock2() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testBlock3() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testArray1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testThis() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testTryCatchFinally() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testCast1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testLiteralEscape() {
|
|
doTest("java", false);
|
|
}
|
|
|
|
public void testLiteralEscape1() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testSwitch() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testSwitch2() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testSwitch3() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testJavaStartLine() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testJavaEndLine() {
|
|
doTest("java", false);
|
|
}
|
|
|
|
public void testJavaTypeParameter() {
|
|
doTest("java", false);
|
|
}
|
|
|
|
public void testStringCamelHumps() {
|
|
EditorSettingsExternalizable.getInstance().setCamelWords(true);
|
|
try {
|
|
doTest("java");
|
|
}
|
|
finally {
|
|
EditorSettingsExternalizable.getInstance().setCamelWords(false);
|
|
}
|
|
}
|
|
|
|
|
|
public void testCommentQuotes() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testLongCommentWithPunctuation() {
|
|
doTest("java");
|
|
}
|
|
|
|
public void testMiddleMethod() { doTest("java"); }
|
|
|
|
public void testLastMethod() { doTest("java"); }
|
|
|
|
public void testDocumentedMethod() { doTest("java"); }
|
|
|
|
public void testMethodWithComment() { doTest("java"); }
|
|
|
|
public void testFieldWithComment() { doTest("java"); }
|
|
|
|
public void testSeparateFieldModifier() { doTest("java"); }
|
|
|
|
public void testUnderscoredWordAtComment() { doTest("java"); }
|
|
|
|
public void testMethodFromParameterList() { doTest("java"); }
|
|
|
|
public void testForHeader() { doTest("java"); }
|
|
|
|
public void testBlockComment() { doTest("java"); }
|
|
|
|
public void testAnonymousClass() { doTest("java"); }
|
|
|
|
public void testTwoComments() { doTest("java"); }
|
|
|
|
public void testWordWithApostrophe() { doTest("java"); }
|
|
|
|
public void testWordWithApostropheInDocComment() { doTest("java"); }
|
|
|
|
public void testWordWithHyphen() { doTest("java"); }
|
|
|
|
public void testEmptyLineInSwitchCase() { doTest("java"); }
|
|
|
|
public void testUnrelatedParenthesis() { doTest("java"); }
|
|
|
|
public void testSwitchCaseInTheMiddle() { doTest("java"); }
|
|
|
|
public void testTextBlockNoTrailingLine() { doTest("java"); }
|
|
|
|
public void testTextBlockTrailingLine() { doTest("java"); }
|
|
|
|
public void testTextBlockEmptyLines() { doTest("java"); }
|
|
|
|
public void testTextBlockEscapedLineEndings() { doTest("java"); }
|
|
|
|
public void testTextBlockLeadingWhitespace() { doTest("java"); }
|
|
|
|
public void testUnclosedTextBlock() { doTest("java"); }
|
|
|
|
public void testUnclosedLiteral() { doTest("java"); }
|
|
|
|
public void testStringTemplate1() { doTest("java"); }
|
|
public void testStringTemplate2() { doTest("java"); }
|
|
public void testStringTemplate3() { doTest("java"); }
|
|
public void testStringTemplate4() { doTest("java"); }
|
|
public void testStringTemplate5() { doTest("java"); }
|
|
public void testStringTemplate6() { doTest("java"); }
|
|
public void testStringTemplate7() { doTest("java"); }
|
|
|
|
public void testLineComments() { doTest("java"); }
|
|
|
|
public void testLineCommentsAtStart() { doTest("java"); }
|
|
|
|
public void testLineCommentsAtEnd() { doTest("java"); }
|
|
|
|
public void testRecordParams() { doTest("java"); }
|
|
|
|
public void testWhitespaces() { doTest("java"); }
|
|
|
|
public void testWhitespacesAtFileStart() { doTest("java"); }
|
|
|
|
public void testWhitespacesAtFileEnd() { doTest("java"); }
|
|
|
|
public void testWhitespacesInTheMiddleOfTheLine() { doTest("java"); }
|
|
|
|
|
|
public void testEndOfFile() throws IOException {
|
|
VirtualFile otherFile = WriteAction.computeAndWait(() -> {
|
|
VirtualFile res = getSourceRoot().createChildData(null, "zzzzzzzzzzzz.txt");
|
|
VfsUtil.saveText(res, StringUtil.repeat("a", 1000));
|
|
return res;
|
|
});
|
|
try {
|
|
doTest("java");
|
|
// these are preconditions actually, assuming this hasn't changed since test start
|
|
assertTrue(otherFile.getLength() > getVFile().getLength());
|
|
assertSame(getFile().getNextSibling(), PsiManager.getInstance(getProject()).findFile(otherFile));
|
|
}
|
|
finally {
|
|
ApplicationManager.getApplication().runWriteAction(() -> {
|
|
try {
|
|
otherFile.delete(null);
|
|
}
|
|
catch (IOException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|