void () { configureJava("class C { int mmm(short a, int b, long c){ return 0; } void m() { mm<caret> } }"); complete(); waitForAllAsyncStuff(); checkResultWithInlays("class C { int mmm(short a, int b, long c){ return 0; } void m() { mmm(<HINT text=\"a:\"/><caret><Hint text=\",b:\"/><Hint text=\",c:\"/>) } }"); checkHintContents("<html><b>short</b></html>"); type("1"); next(); waitForAllAsyncStuff(); checkResultWithInlays("class C { int mmm(short a, int b, long c){ return 0; } void m() { mmm(<Hint text=\"a:\"/>1, <HINT text=\"b:\"/><caret><Hint text=\",c:\"/>) } }"); checkHintContents("<html><b>int</b></html>"); type("2"); next(); waitForAllAsyncStuff(); checkResultWithInlays("class C { int mmm(short a, int b, long c){ return 0; } void m() { mmm(<Hint text=\"a:\"/>1, <Hint text=\"b:\"/>2, <HINT text=\"c:\"/><caret>) } }"); checkHintContents("<html><b>long</b></html>"); type("3"); next(); waitForAllAsyncStuff(); checkResultWithInlays("class C { int mmm(short a, int b, long c){ return 0; } void m() { mmm(<hint text=\"a:\"/>1, <hint text=\"b:\"/>2, <hint text=\"c:\"/>3)<caret> } }"); checkHintContents(null); prev(); waitForAllAsyncStuff(); checkResultWithInlays("class C { int mmm(short a, int b, long c){ return 0; } void m() { mmm(<Hint text=\"a:\"/>1, <Hint text=\"b:\"/>2, <HINT text=\"c:\"/>3<caret>) } }"); checkHintContents("<html><b>long</b></html>"); prev(); waitForAllAsyncStuff(); checkResultWithInlays("class C { int mmm(short a, int b, long c){ return 0; } void m() { mmm(<Hint text=\"a:\"/>1, <HINT text=\"b:\"/>2<caret>, <Hint text=\"c:\"/>3) } }"); checkHintContents("<html><b>int</b></html>"); prev(); waitForAllAsyncStuff(); checkResultWithInlays("class C { int mmm(short a, int b, long c){ return 0; } void m() { mmm(<HINT text=\"a:\"/>1<caret>, <Hint text=\"b:\"/>2, <Hint text=\"c:\"/>3) } }"); checkHintContents("<html><b>short</b></html>"); }