mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
automatically clear templateTesting flag
This commit is contained in:
+23
-34
@@ -871,32 +871,26 @@ class Foo {
|
||||
}
|
||||
|
||||
public void testCompletionWhenLiveTemplateAreNotSufficient() {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
|
||||
try {
|
||||
myFixture.configureByText("a.java", """
|
||||
class Foo {
|
||||
{
|
||||
Iterable<String> l1 = null;
|
||||
Iterable<String> l2 = null;
|
||||
Object asdf = null;
|
||||
iter<caret>
|
||||
}
|
||||
}
|
||||
""")
|
||||
type '\t'
|
||||
assert myFixture.lookupElementStrings == ['l2', 'l1']
|
||||
type 'as'
|
||||
assert lookup
|
||||
assertContains 'asdf', 'assert'
|
||||
type '\n.'
|
||||
assert lookup
|
||||
assert 'hashCode' in myFixture.lookupElementStrings
|
||||
assert myFixture.file.text.contains('asdf.')
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
myFixture.configureByText("a.java", """
|
||||
class Foo {
|
||||
{
|
||||
Iterable<String> l1 = null;
|
||||
Iterable<String> l2 = null;
|
||||
Object asdf = null;
|
||||
iter<caret>
|
||||
}
|
||||
finally {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
|
||||
}
|
||||
|
||||
}
|
||||
""")
|
||||
type '\t'
|
||||
assert myFixture.lookupElementStrings == ['l2', 'l1']
|
||||
type 'as'
|
||||
assert lookup
|
||||
assertContains 'asdf', 'assert'
|
||||
type '\n.'
|
||||
assert lookup
|
||||
assert 'hashCode' in myFixture.lookupElementStrings
|
||||
assert myFixture.file.text.contains('asdf.')
|
||||
}
|
||||
|
||||
public void testNoWordCompletionAutoPopup() {
|
||||
@@ -1177,16 +1171,11 @@ class Foo extends Abcdefg <caret>'''
|
||||
}
|
||||
|
||||
public void testSoutvTemplate() {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
|
||||
try {
|
||||
myFixture.configureByText 'a.java', 'class Foo {{ <caret> }}'
|
||||
type 'soutv\tgetcl.'
|
||||
myFixture.checkResult '''class Foo {{
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
myFixture.configureByText 'a.java', 'class Foo {{ <caret> }}'
|
||||
type 'soutv\tgetcl.'
|
||||
myFixture.checkResult '''class Foo {{
|
||||
System.out.println("getClass(). = " + getClass().<caret>); }}'''
|
||||
}
|
||||
finally {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
|
||||
}
|
||||
}
|
||||
|
||||
public void testReturnLParen() {
|
||||
|
||||
+1
-9
@@ -15,13 +15,11 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.quickFix
|
||||
import com.intellij.codeInsight.lookup.LookupManager
|
||||
import com.intellij.codeInsight.template.TemplateManager
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl
|
||||
import com.intellij.ide.DataManager
|
||||
import com.intellij.openapi.actionSystem.DataContext
|
||||
import com.intellij.openapi.actionSystem.IdeActions
|
||||
import com.intellij.openapi.editor.actionSystem.EditorActionManager
|
||||
|
||||
/**
|
||||
* @author ven
|
||||
*/
|
||||
@@ -41,7 +39,7 @@ class SomeOuterClassWithLongName {
|
||||
}
|
||||
}
|
||||
"""
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
|
||||
TemplateManagerImpl.setTemplateTesting(project, testRootDisposable);
|
||||
doAction("Create Method 'addSubGroup'")
|
||||
def state = TemplateManagerImpl.getTemplateState(getEditor())
|
||||
//skip void return type
|
||||
@@ -78,12 +76,6 @@ class SomeOuterClassWithLongName {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return "/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage";
|
||||
|
||||
+6
-11
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.quickFix;
|
||||
|
||||
import com.intellij.codeInsight.template.TemplateManager;
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl;
|
||||
import com.intellij.codeInsight.template.impl.TemplateState;
|
||||
|
||||
@@ -26,17 +25,13 @@ public class DelegateWithDefaultParamValueTest extends LightQuickFixTestCase {
|
||||
@Override
|
||||
protected void doAction(String text, boolean actionShouldBeAvailable, String testFullPath, String testName)
|
||||
throws Exception {
|
||||
try {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
|
||||
super.doAction(text, actionShouldBeAvailable, testFullPath, testName);
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
super.doAction(text, actionShouldBeAvailable, testFullPath, testName);
|
||||
|
||||
if (actionShouldBeAvailable) {
|
||||
TemplateState state = TemplateManagerImpl.getTemplateState(getEditor());
|
||||
assert state != null;
|
||||
state.gotoEnd(false);
|
||||
}
|
||||
} finally {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
|
||||
if (actionShouldBeAvailable) {
|
||||
TemplateState state = TemplateManagerImpl.getTemplateState(getEditor());
|
||||
assert state != null;
|
||||
state.gotoEnd(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+17
-48
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.generation.surroundWith;
|
||||
|
||||
import com.intellij.codeInsight.template.TemplateManager;
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl;
|
||||
import com.intellij.codeInsight.template.impl.TemplateState;
|
||||
import com.intellij.lang.surroundWith.Surrounder;
|
||||
@@ -107,47 +106,23 @@ public class JavaSurroundWithTest extends LightCodeInsightTestCase {
|
||||
}
|
||||
|
||||
public void testSurroundBinaryWithCast() {
|
||||
final TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(getProject());
|
||||
templateManager.setTemplateTesting(true);
|
||||
try {
|
||||
doTest(getTestName(false), new JavaWithCastSurrounder());
|
||||
}
|
||||
finally {
|
||||
templateManager.setTemplateTesting(false);
|
||||
}
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
doTest(getTestName(false), new JavaWithCastSurrounder());
|
||||
}
|
||||
|
||||
public void testSurroundConditionalWithCast() {
|
||||
final TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(getProject());
|
||||
templateManager.setTemplateTesting(true);
|
||||
try {
|
||||
doTest(getTestName(false), new JavaWithCastSurrounder());
|
||||
}
|
||||
finally {
|
||||
templateManager.setTemplateTesting(false);
|
||||
}
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
doTest(getTestName(false), new JavaWithCastSurrounder());
|
||||
}
|
||||
|
||||
public void testSurroundAssignmentWithCast() {
|
||||
final TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(getProject());
|
||||
templateManager.setTemplateTesting(true);
|
||||
try {
|
||||
doTest(getTestName(false), new JavaWithCastSurrounder());
|
||||
}
|
||||
finally {
|
||||
templateManager.setTemplateTesting(false);
|
||||
}
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
doTest(getTestName(false), new JavaWithCastSurrounder());
|
||||
}
|
||||
|
||||
public void testSurroundWithNotNullCheck() {
|
||||
final TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(getProject());
|
||||
templateManager.setTemplateTesting(true);
|
||||
try {
|
||||
doTest(getTestName(false), new JavaWithNullCheckSurrounder());
|
||||
}
|
||||
finally {
|
||||
templateManager.setTemplateTesting(false);
|
||||
}
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
doTest(getTestName(false), new JavaWithNullCheckSurrounder());
|
||||
}
|
||||
|
||||
private void doTest(@NotNull String fileName, final Surrounder surrounder) {
|
||||
@@ -158,22 +133,16 @@ public class JavaSurroundWithTest extends LightCodeInsightTestCase {
|
||||
|
||||
private void doTestWithTemplateFinish(@NotNull String fileName, final Surrounder surrounder, @Nullable String textToType)
|
||||
throws Exception {
|
||||
final TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(getProject());
|
||||
try {
|
||||
templateManager.setTemplateTesting(true);
|
||||
configureByFile(BASE_PATH + fileName + ".java");
|
||||
SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
|
||||
if (textToType != null) {
|
||||
type(textToType);
|
||||
}
|
||||
TemplateState templateState = TemplateManagerImpl.getTemplateState(getEditor());
|
||||
assertNotNull(templateState);
|
||||
templateState.nextTab();
|
||||
checkResultByFile(BASE_PATH + fileName + "_after.java");
|
||||
}
|
||||
finally {
|
||||
templateManager.setTemplateTesting(false);
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
configureByFile(BASE_PATH + fileName + ".java");
|
||||
SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
|
||||
if (textToType != null) {
|
||||
type(textToType);
|
||||
}
|
||||
TemplateState templateState = TemplateManagerImpl.getTemplateState(getEditor());
|
||||
assertNotNull(templateState);
|
||||
templateState.nextTab();
|
||||
checkResultByFile(BASE_PATH + fileName + "_after.java");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -37,13 +37,12 @@ public class LiveTemplateTest extends LightCodeInsightFixtureTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
CodeInsightSettings.instance.COMPLETION_CASE_SENSITIVE = CodeInsightSettings.FIRST_LETTER
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
|
||||
if (state != null) {
|
||||
state.gotoEnd();
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ class InplaceRenameInvariantTest extends LightCodeInsightTestCase {
|
||||
TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(project)
|
||||
def oldPreselectSetting = myEditor.settings.preselectRename
|
||||
try {
|
||||
templateManager.templateTesting = true
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
myEditor.settings.preselectRename = preselect;
|
||||
int offset = myEditor.caretModel.offset
|
||||
final PsiElement element = TargetElementUtilBase.findTargetElement(myEditor, TargetElementUtilBase.getInstance().getAllAccepted())
|
||||
@@ -126,16 +126,11 @@ class InplaceRenameInvariantTest extends LightCodeInsightTestCase {
|
||||
finally {
|
||||
myEditor.settings.preselectRename = oldPreselectSetting
|
||||
|
||||
try {
|
||||
TemplateState state = TemplateManagerImpl.getTemplateState(editor)
|
||||
TemplateState state = TemplateManagerImpl.getTemplateState(editor)
|
||||
|
||||
assertNotNull(state)
|
||||
assertNotNull(state)
|
||||
|
||||
state.gotoEnd(false)
|
||||
}
|
||||
finally {
|
||||
templateManager.templateTesting = false
|
||||
}
|
||||
state.gotoEnd(false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.codeInsight.template.TemplateManager;
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl;
|
||||
import com.intellij.codeInsight.template.impl.TemplateState;
|
||||
import com.intellij.lang.java.JavaRefactoringSupportProvider;
|
||||
@@ -138,29 +137,23 @@ public class RenameLocalTest extends LightRefactoringTestCase {
|
||||
final String name = getTestName(false);
|
||||
configureByFile(BASE_PATH + name + ".java");
|
||||
|
||||
final TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(getProject());
|
||||
try {
|
||||
templateManager.setTemplateTesting(true);
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
|
||||
new RenameWrongRefHandler().invoke(getProject(), getEditor(), getFile(), null);
|
||||
new RenameWrongRefHandler().invoke(getProject(), getEditor(), getFile(), null);
|
||||
|
||||
final TemplateState state = TemplateManagerImpl.getTemplateState(getEditor());
|
||||
assert state != null;
|
||||
final TextRange range = state.getCurrentVariableRange();
|
||||
assert range != null;
|
||||
final TemplateState state = TemplateManagerImpl.getTemplateState(getEditor());
|
||||
assert state != null;
|
||||
final TextRange range = state.getCurrentVariableRange();
|
||||
assert range != null;
|
||||
|
||||
new WriteCommandAction.Simple(getProject()) {
|
||||
@Override
|
||||
protected void run() throws Throwable {
|
||||
getEditor().getDocument().replaceString(range.getStartOffset(), range.getEndOffset(), newName);
|
||||
}
|
||||
}.execute().throwException();
|
||||
new WriteCommandAction.Simple(getProject()) {
|
||||
@Override
|
||||
protected void run() throws Throwable {
|
||||
getEditor().getDocument().replaceString(range.getStartOffset(), range.getEndOffset(), newName);
|
||||
}
|
||||
}.execute().throwException();
|
||||
|
||||
state.gotoEnd(false);
|
||||
checkResultByFile(BASE_PATH + name + "_after.java");
|
||||
}
|
||||
finally {
|
||||
templateManager.setTemplateTesting(false);
|
||||
}
|
||||
state.gotoEnd(false);
|
||||
checkResultByFile(BASE_PATH + name + "_after.java");
|
||||
}
|
||||
}
|
||||
|
||||
+13
@@ -90,10 +90,23 @@ public class TemplateManagerImpl extends TemplateManager implements ProjectCompo
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
@Deprecated
|
||||
public void setTemplateTesting(final boolean templateTesting) {
|
||||
myTemplateTesting = templateTesting;
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
public static void setTemplateTesting(Project project, Disposable parentDisposable) {
|
||||
final TemplateManagerImpl instance = (TemplateManagerImpl)getInstance(project);
|
||||
instance.myTemplateTesting = true;
|
||||
Disposer.register(parentDisposable, new Disposable() {
|
||||
@Override
|
||||
public void dispose() {
|
||||
instance.myTemplateTesting = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void disposeState(final TemplateState tState) {
|
||||
Disposer.dispose(tState);
|
||||
myDisposables.remove(tState);
|
||||
|
||||
+2
-8
@@ -15,13 +15,11 @@
|
||||
*/
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.codeInsight.template.TemplateManager;
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl;
|
||||
import com.intellij.codeInsight.template.impl.TemplateState;
|
||||
import com.intellij.openapi.util.Pass;
|
||||
import com.intellij.refactoring.introduce.inplace.AbstractInplaceIntroducer;
|
||||
import com.intellij.testFramework.LightPlatformCodeInsightTestCase;
|
||||
import com.intellij.testFramework.LightPlatformTestCase;
|
||||
|
||||
/**
|
||||
* User: anna
|
||||
@@ -35,9 +33,8 @@ public abstract class AbstractInplaceIntroduceTest extends LightPlatformCodeInsi
|
||||
String name = getTestName(true);
|
||||
configureByFile(getBasePath() + name + getExtension());
|
||||
final boolean enabled = getEditor().getSettings().isVariableInplaceRenameEnabled();
|
||||
TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(LightPlatformTestCase.getProject());
|
||||
try {
|
||||
templateManager.setTemplateTesting(true);
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
getEditor().getSettings().setVariableInplaceRenameEnabled(true);
|
||||
|
||||
invokeRefactoring();
|
||||
@@ -48,7 +45,6 @@ public abstract class AbstractInplaceIntroduceTest extends LightPlatformCodeInsi
|
||||
}
|
||||
finally {
|
||||
getEditor().getSettings().setVariableInplaceRenameEnabled(enabled);
|
||||
templateManager.setTemplateTesting(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,9 +54,8 @@ public abstract class AbstractInplaceIntroduceTest extends LightPlatformCodeInsi
|
||||
String name = getTestName(true);
|
||||
configureByFile(getBasePath() + name + getExtension());
|
||||
final boolean enabled = getEditor().getSettings().isVariableInplaceRenameEnabled();
|
||||
TemplateManagerImpl templateManager = (TemplateManagerImpl)TemplateManager.getInstance(LightPlatformTestCase.getProject());
|
||||
try {
|
||||
templateManager.setTemplateTesting(true);
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
getEditor().getSettings().setVariableInplaceRenameEnabled(true);
|
||||
|
||||
final AbstractInplaceIntroducer introducer = invokeRefactoring();
|
||||
@@ -72,7 +67,6 @@ public abstract class AbstractInplaceIntroduceTest extends LightPlatformCodeInsi
|
||||
}
|
||||
finally {
|
||||
getEditor().getSettings().setVariableInplaceRenameEnabled(enabled);
|
||||
templateManager.setTemplateTesting(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -168,19 +168,15 @@ public class XmlCompletionTest extends LightCodeInsightFixtureTestCase {
|
||||
}
|
||||
|
||||
public void testAttributesTemplateFinishWithSpace() throws Throwable {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
|
||||
try {
|
||||
configureByFile(getTestName(false) + ".xml");
|
||||
type('b');
|
||||
type('e');
|
||||
type('a');
|
||||
type('n');
|
||||
type(' ');
|
||||
checkResultByFile(getTestName(false) + "_after.xml");
|
||||
}
|
||||
finally {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
|
||||
}
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
|
||||
configureByFile(getTestName(false) + ".xml");
|
||||
type('b');
|
||||
type('e');
|
||||
type('a');
|
||||
type('n');
|
||||
type(' ');
|
||||
checkResultByFile(getTestName(false) + "_after.xml");
|
||||
}
|
||||
|
||||
private void configureByFile(String s) {
|
||||
@@ -189,17 +185,13 @@ public class XmlCompletionTest extends LightCodeInsightFixtureTestCase {
|
||||
}
|
||||
|
||||
public void testNoAttributesTemplateFinishWithSpace() throws Throwable {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
|
||||
try {
|
||||
configureByFile(getTestName(false) + ".xml");
|
||||
type('d');
|
||||
type('e');
|
||||
type(' ');
|
||||
checkResultByFile(getTestName(false) + "_after.xml");
|
||||
}
|
||||
finally {
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
|
||||
}
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
|
||||
configureByFile(getTestName(false) + ".xml");
|
||||
type('d');
|
||||
type('e');
|
||||
type(' ');
|
||||
checkResultByFile(getTestName(false) + "_after.xml");
|
||||
}
|
||||
|
||||
private void type(char c) {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.codeInsight.template
|
||||
import com.intellij.codeInsight.CodeInsightSettings
|
||||
|
||||
import com.intellij.codeInsight.template.impl.ConstantNode
|
||||
import com.intellij.codeInsight.template.impl.EmptyNode
|
||||
import com.intellij.codeInsight.template.impl.TemplateManagerImpl
|
||||
@@ -32,13 +32,11 @@ public class XmlLiveTemplateTest extends LightCodeInsightFixtureTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
|
||||
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
CodeInsightSettings.instance.COMPLETION_CASE_SENSITIVE = CodeInsightSettings.FIRST_LETTER
|
||||
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
|
||||
if (state != null) {
|
||||
state.gotoEnd();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user