Search in sources :

Example 1 with MockParameterInfoUIContext

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);
}
Also used : CreateParameterInfoContext(com.intellij.lang.parameterInfo.CreateParameterInfoContext) MockCreateParameterInfoContext(com.intellij.testFramework.utils.parameterInfo.MockCreateParameterInfoContext) MockParameterInfoUIContext(com.intellij.testFramework.utils.parameterInfo.MockParameterInfoUIContext) MockCreateParameterInfoContext(com.intellij.testFramework.utils.parameterInfo.MockCreateParameterInfoContext)

Example 2 with MockParameterInfoUIContext

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());
}
Also used : MockUpdateParameterInfoContext(com.intellij.testFramework.utils.parameterInfo.MockUpdateParameterInfoContext) MockParameterInfoUIContext(com.intellij.testFramework.utils.parameterInfo.MockParameterInfoUIContext) CfmlParameterInfoHandler(com.intellij.coldFusion.UI.editorActions.CfmlParameterInfoHandler) MockCreateParameterInfoContext(com.intellij.testFramework.utils.parameterInfo.MockCreateParameterInfoContext) PsiElement(com.intellij.psi.PsiElement)

Example 3 with MockParameterInfoUIContext

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());
    }
}
Also used : DartParameterInfoHandler(com.jetbrains.lang.dart.ide.info.DartParameterInfoHandler) MockUpdateParameterInfoContext(com.intellij.testFramework.utils.parameterInfo.MockUpdateParameterInfoContext) MockParameterInfoUIContext(com.intellij.testFramework.utils.parameterInfo.MockParameterInfoUIContext) MockCreateParameterInfoContext(com.intellij.testFramework.utils.parameterInfo.MockCreateParameterInfoContext) PsiElement(com.intellij.psi.PsiElement)

Aggregations

MockCreateParameterInfoContext (com.intellij.testFramework.utils.parameterInfo.MockCreateParameterInfoContext)3 MockParameterInfoUIContext (com.intellij.testFramework.utils.parameterInfo.MockParameterInfoUIContext)3 PsiElement (com.intellij.psi.PsiElement)2 MockUpdateParameterInfoContext (com.intellij.testFramework.utils.parameterInfo.MockUpdateParameterInfoContext)2 CfmlParameterInfoHandler (com.intellij.coldFusion.UI.editorActions.CfmlParameterInfoHandler)1 CreateParameterInfoContext (com.intellij.lang.parameterInfo.CreateParameterInfoContext)1 DartParameterInfoHandler (com.jetbrains.lang.dart.ide.info.DartParameterInfoHandler)1