void () { disableVirtualComma(); setParameterHintsLimit(2); configureJava(""" class C { int mmm(int a, int b, int c, int d) { return 0; } void m2() { mm<caret> } }"""); complete(); checkResultWithInlays(""" class C { int mmm(int a, int b, int c, int d) { return 0; } void m2() { mmm(<HINT text="a:"/><caret>, <Hint text="b:"/><Hint text="...more:"/>) } }"""); type("1"); next(); waitForAllAsyncStuff(); checkResultWithInlays(""" class C { int mmm(int a, int b, int c, int d) { return 0; } void m2() { mmm(<Hint text="a:"/>1, <HINT text="b:"/><caret><Hint text="...more:"/>) } }"""); type("2"); next(); waitForAllAsyncStuff(); checkResultWithInlays(""" class C { int mmm(int a, int b, int c, int d) { return 0; } void m2() { mmm(<Hint text="a:"/>1, <Hint text="b:"/>2, <HINT text="c:"/><caret><Hint text="...more:"/>) } }"""); type("3"); next(); waitForAllAsyncStuff(); checkResultWithInlays(""" class C { int mmm(int a, int b, int c, int d) { return 0; } void m2() { mmm(<Hint text="a:"/>1, <Hint text="b:"/>2, <Hint text="c:"/>3, <HINT text="d:"/><caret>) } }"""); type("4"); next(); waitForAllAsyncStuff(); checkResultWithInlays(""" class C { int mmm(int a, int b, int c, int d) { return 0; } void m2() { mmm(<hint text="a:"/>1, <hint text="b:"/>2, <hint text="c:"/>3, <hint text="d:"/>4)<caret> } }"""); }