use of com.intellij.testFramework.utils.parameterInfo.MockParameterInfoUIContext in project intellij-community by JetBrains.
the class ParameterInfoTest method testParameterInfoDoesNotShowInternalJetbrainsAnnotations.
public void testParameterInfoDoesNotShowInternalJetbrainsAnnotations() throws IOException {
myFixture.configureByText("x.java", "class X { void f(@org.intellij.lang.annotations.Flow int i) { f(<caret>0); }}");
CreateParameterInfoContext context = new MockCreateParameterInfoContext(getEditor(), getFile());
PsiMethod method = PsiTreeUtil.getParentOfType(getFile().findElementAt(context.getOffset()), PsiMethod.class);
assertNotNull(method);
MockParameterInfoUIContext<PsiMethod> uiContext = new MockParameterInfoUIContext<>(method);
String list = MethodParameterInfoHandler.updateMethodPresentation(method, PsiSubstitutor.EMPTY, uiContext);
assertEquals("int i", list);
PsiAnnotation[] annotations = AnnotationUtil.getAllAnnotations(method.getParameterList().getParameters()[0], false, null);
assertEquals(1, annotations.length);
}
use of com.intellij.testFramework.utils.parameterInfo.MockParameterInfoUIContext in project intellij-plugins by JetBrains.
the class CfmlParameterInfoTest method defaultTest.
private void defaultTest(String s) throws /*, int highlightedParameterIndex*/
Exception {
myFixture.configureByFile(getTestName(false) + ".cfml");
CfmlParameterInfoHandler parameterInfoHandler = new CfmlParameterInfoHandler();
MockCreateParameterInfoContext createContext = new MockCreateParameterInfoContext(myFixture.getEditor(), myFixture.getFile());
PsiElement elt = parameterInfoHandler.findElementForParameterInfo(createContext);
assertNotNull(elt);
parameterInfoHandler.showParameterInfo(elt, createContext);
Object[] items = createContext.getItemsToShow();
assertTrue(items != null);
assertTrue(items.length > 0);
MockParameterInfoUIContext context = new MockParameterInfoUIContext<>(elt);
parameterInfoHandler.updateUI((CfmlFunctionDescription) items[0], context);
assertEquals(s, parameterInfoHandler.getText());
// index check
MockUpdateParameterInfoContext updateContext = new MockUpdateParameterInfoContext(myFixture.getEditor(), myFixture.getFile());
final PsiElement element = parameterInfoHandler.findElementForUpdatingParameterInfo(updateContext);
parameterInfoHandler.updateParameterInfo(element, updateContext);
// assertEquals(highlightedParameterIndex, updateContext.getCurrentParameter());
}
use of com.intellij.testFramework.utils.parameterInfo.MockParameterInfoUIContext in project intellij-plugins by JetBrains.
the class DartParameterInfoTest method doTest.
private void doTest(String infoText, int highlightedParameterIndex, int highlightStart, int highlightEnd) {
myFixture.configureByFile(getTestName(false) + "." + DartFileType.DEFAULT_EXTENSION);
// warm up the server
myFixture.doHighlighting();
final DartParameterInfoHandler parameterInfoHandler = new DartParameterInfoHandler();
MockCreateParameterInfoContext createContext = new MockCreateParameterInfoContext(getEditor(), getFile());
PsiElement elt = parameterInfoHandler.findElementForParameterInfo(createContext);
assertNotNull(elt);
parameterInfoHandler.showParameterInfo(elt, createContext);
Object[] items = createContext.getItemsToShow();
assertTrue(items != null);
assertTrue(items.length > 0);
MockParameterInfoUIContext context = new MockParameterInfoUIContext<>(elt);
parameterInfoHandler.updateUI((DartFunctionDescription) items[0], context);
assertEquals(infoText, parameterInfoHandler.getParametersListPresentableText());
// index check
MockUpdateParameterInfoContext updateContext = new MockUpdateParameterInfoContext(getEditor(), getFile());
final PsiElement element = parameterInfoHandler.findElementForUpdatingParameterInfo(updateContext);
assertNotNull(element);
parameterInfoHandler.updateParameterInfo(element, updateContext);
assertEquals(highlightedParameterIndex, updateContext.getCurrentParameter());
// range check
if (highlightStart != -1) {
assertEquals(highlightStart, context.getHighlightStart());
assertEquals(highlightEnd, context.getHighlightEnd());
}
}
Aggregations