mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
OC-11351 Parameter info for Swift
This commit is contained in:
@@ -28,7 +28,6 @@ import com.intellij.testFramework.LightCodeInsightTestCase;
|
||||
import com.intellij.testFramework.utils.parameterInfo.MockCreateParameterInfoContext;
|
||||
import com.intellij.testFramework.utils.parameterInfo.MockParameterInfoUIContext;
|
||||
import com.intellij.testFramework.utils.parameterInfo.MockUpdateParameterInfoContext;
|
||||
import com.intellij.util.ArrayUtilRt;
|
||||
import com.intellij.util.Function;
|
||||
import junit.framework.Assert;
|
||||
|
||||
@@ -104,21 +103,10 @@ public class ParameterInfoTest extends LightCodeInsightTestCase {
|
||||
assertEquals(2, itemsToShow.length);
|
||||
assertTrue(itemsToShow[0] instanceof MethodCandidateInfo);
|
||||
final ParameterInfoUIContextEx parameterContext = ParameterInfoComponent.createContext(itemsToShow, myEditor, handler, -1);
|
||||
final Boolean [] enabled = new Boolean[itemsToShow.length];
|
||||
final MockUpdateParameterInfoContext updateParameterInfoContext = new MockUpdateParameterInfoContext(myEditor, myFile){
|
||||
@Override
|
||||
public Object[] getObjectsToView() {
|
||||
return itemsToShow;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUIComponentEnabled(int index, boolean b) {
|
||||
enabled[index] = b;
|
||||
}
|
||||
};
|
||||
final MockUpdateParameterInfoContext updateParameterInfoContext = new MockUpdateParameterInfoContext(myEditor, myFile, itemsToShow);
|
||||
updateParameterInfoContext.setParameterOwner(list);
|
||||
handler.updateParameterInfo(list, updateParameterInfoContext);
|
||||
assertTrue(ArrayUtilRt.find(enabled, Boolean.TRUE) > -1);
|
||||
assertTrue(updateParameterInfoContext.isUIComponentEnabled(0) || updateParameterInfoContext.isUIComponentEnabled(1));
|
||||
}
|
||||
|
||||
public void testAfterGenericsInsideCall() throws Exception {
|
||||
|
||||
+18
-3
@@ -22,6 +22,7 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author gregsh
|
||||
@@ -32,10 +33,18 @@ public class MockUpdateParameterInfoContext implements UpdateParameterInfoContex
|
||||
private PsiElement myParameterOwner;
|
||||
private Object myHighlightedParameter;
|
||||
private int myCurrentParameter;
|
||||
private final Object[] myItems;
|
||||
private final boolean[] myCompEnabled;
|
||||
|
||||
public MockUpdateParameterInfoContext(@NotNull Editor editor, @NotNull PsiFile file) {
|
||||
this(editor, file, null);
|
||||
}
|
||||
|
||||
public MockUpdateParameterInfoContext(@NotNull Editor editor, @NotNull PsiFile file, @Nullable Object[] items) {
|
||||
myEditor = editor;
|
||||
myFile = file;
|
||||
myItems = items == null ? ArrayUtil.EMPTY_OBJECT_ARRAY : items;
|
||||
myCompEnabled = items == null ? null : new boolean[items.length];
|
||||
}
|
||||
|
||||
public void removeHint() {}
|
||||
@@ -58,16 +67,22 @@ public class MockUpdateParameterInfoContext implements UpdateParameterInfoContex
|
||||
return myCurrentParameter;
|
||||
}
|
||||
|
||||
public boolean isUIComponentEnabled(int index) { return false; }
|
||||
public boolean isUIComponentEnabled(int index) {
|
||||
return myCompEnabled != null && myCompEnabled[index];
|
||||
}
|
||||
|
||||
public void setUIComponentEnabled(int index, boolean b) {}
|
||||
public void setUIComponentEnabled(int index, boolean b) {
|
||||
if (myCompEnabled != null) {
|
||||
myCompEnabled[index] = b;
|
||||
}
|
||||
}
|
||||
|
||||
public int getParameterListStart() {
|
||||
return myEditor.getCaretModel().getOffset();
|
||||
}
|
||||
|
||||
public Object[] getObjectsToView() {
|
||||
return ArrayUtil.EMPTY_OBJECT_ARRAY;
|
||||
return myItems;
|
||||
}
|
||||
|
||||
public Project getProject() {
|
||||
|
||||
Reference in New Issue
Block a user