use of com.jetbrains.lang.dart.ide.info.DartParameterInfoHandler 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