SQL quoted identifiers handling reworked & IDEA-103850

This commit is contained in:
Gregory.Shrago
2013-03-27 20:53:38 +04:00
parent 8dcf271e08
commit d0dafd5704
3 changed files with 17 additions and 5 deletions
@@ -270,7 +270,7 @@ public abstract class InplaceRefactoring {
boolean subrefOnPrimaryElement = false;
for (PsiReference ref : refs) {
if (nameIdentifier != null && ref.getElement() == nameIdentifier.getParent()) {
if (isReferenceAtCaret(nameIdentifier, ref)) {
builder.replaceElement(ref, PRIMARY_VARIABLE_NAME, createLookupExpression(), true);
subrefOnPrimaryElement = true;
continue;
@@ -327,6 +327,10 @@ public abstract class InplaceRefactoring {
return true;
}
protected boolean isReferenceAtCaret(PsiElement nameIdentifier, PsiReference ref) {
return nameIdentifier != null && ref.getElement() == nameIdentifier.getParent();
}
protected void beforeTemplateStart() {
myCaretRangeMarker = myEditor.getDocument()
.createRangeMarker(new TextRange(myEditor.getCaretModel().getOffset(), myEditor.getCaretModel().getOffset()));
@@ -19,6 +19,7 @@ package com.intellij.testFramework.fixtures;
import com.intellij.codeInsight.completion.CompletionType;
import com.intellij.codeInsight.daemon.impl.HighlightInfo;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInsight.lookup.Lookup;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupEx;
import com.intellij.codeInspection.InspectionProfileEntry;
@@ -42,6 +43,7 @@ import com.intellij.testFramework.HighlightTestInfo;
import com.intellij.testFramework.TestDataFile;
import com.intellij.usageView.UsageInfo;
import com.intellij.util.Consumer;
import org.intellij.lang.annotations.MagicConstant;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -452,7 +454,7 @@ public interface CodeInsightTestFixture extends IdeaProjectTestFixture {
@Nullable
List<String> getLookupElementStrings();
void finishLookup();
void finishLookup(@MagicConstant(valuesFromClass = Lookup.class) char completionChar);
LookupEx getLookup();
@@ -113,6 +113,7 @@ import com.intellij.util.indexing.FileBasedIndex;
import com.intellij.util.ui.UIUtil;
import gnu.trove.THashMap;
import junit.framework.Assert;
import junit.framework.ComparisonFailure;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -638,11 +639,11 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
}
@Override
public void finishLookup() {
public void finishLookup(final char completionChar) {
CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
@Override
public void run() {
((LookupImpl)LookupManager.getActiveLookup(getEditor())).finishLookup(Lookup.NORMAL_SELECT_CHAR);
((LookupImpl)LookupManager.getActiveLookup(getEditor())).finishLookup(completionChar);
}
}, null, null);
}
@@ -1685,7 +1686,12 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
actualText = StringUtil.convertLineSeparators(actualText);
if (!Comparing.equal(newFileText1, actualText)) {
throw new FileComparisonFailure(expectedFile, newFileText1, actualText, loader.filePath);
if (loader.filePath != null) {
throw new FileComparisonFailure(expectedFile, newFileText1, actualText, loader.filePath);
}
else {
throw new ComparisonFailure(expectedFile, newFileText1, actualText);
}
}
if (loader.caretMarker != null) {