IDEA-67250 Invoke completion automatically when none of the predefined live template variants match

This commit is contained in:
peter
2011-04-14 16:16:24 +02:00
parent a70cf1c7ed
commit e32c7644b5
3 changed files with 39 additions and 0 deletions

View File

@@ -19,6 +19,8 @@ import com.intellij.codeInsight.completion.impl.CompletionServiceImpl
import com.intellij.codeInsight.lookup.Lookup
import com.intellij.codeInsight.lookup.LookupManager
import com.intellij.codeInsight.lookup.impl.LookupImpl
import com.intellij.codeInsight.template.TemplateManager
import com.intellij.codeInsight.template.impl.TemplateManagerImpl
import com.intellij.ide.DataManager
import com.intellij.ide.ui.UISettings
import com.intellij.openapi.actionSystem.IdeActions
@@ -690,4 +692,29 @@ class Foo {
assert myFixture.editor.document.text.contains('foo(aaa,)')
}
public void testCompletionWhenLiveTemplateAreNotSufficient() {
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(true);
try {
myFixture.configureByText("a.java", """
class Foo {
{
Iterable<String> l1 = null;
Iterable<String> l2 = null;
Object asdf = null;
iter<caret>
}
}
""")
type '\t'
assert myFixture.lookupElementStrings == ['l2', 'l1']
type 'as'
assert lookup
assert myFixture.lookupElementStrings == ['asdf', 'assert']
}
finally {
((TemplateManagerImpl)TemplateManager.getInstance(getProject())).setTemplateTesting(false);
}
}
}