fix caret position relative to hint after nested smart completion

This commit is contained in:
Dmitry Batrak
2017-04-21 19:11:14 +03:00
parent 3840e41483
commit dd922ae87b
2 changed files with 13 additions and 2 deletions
@@ -170,6 +170,17 @@ public class CompletionHintsTest extends LightFixtureCompletionTestCase {
myFixture.checkResultWithInlays("class C { void m() { System.getProperty( ) } }");
}
public void testCaretIsToTheRightOfHintAfterSmartInnerCompletion() throws Exception {
myFixture.configureByText(JavaFileType.INSTANCE, "class C { void m() { System.setPro<caret> } }");
complete("setProperty");
type("new String().trim");
myFixture.complete(CompletionType.SMART);
myFixture.checkResultWithInlays("class C { void m() { System.setProperty(<hint text=\"key:\"/>new String().trim(), <hint text=\"value:\"/>) } }");
myFixture.checkResult("class C { void m() { System.setProperty(new String().trim(), <caret>) } }");
assertEquals(getEditor().offsetToVisualPosition(getEditor().getCaretModel().getOffset(), true, false),
getEditor().getCaretModel().getVisualPosition());
}
private void showParameterInfo() {
myFixture.performEditorAction("ParameterInfo");
UIUtil.dispatchAllInvocationEvents();