diff --git a/idea/testData/templates/Iter.exp.kt b/idea/testData/templates/Iter.exp.kt new file mode 100644 index 00000000000..2e6d275892f --- /dev/null +++ b/idea/testData/templates/Iter.exp.kt @@ -0,0 +1,18 @@ +import java.io.InputStream +import java.util.ArrayList +import java.io.FileInputStream +import java.util.HashSet + +class MyClass { + public var collection : HashSet? = null + private var isAlive : Boolean = false + + fun main(args : Array, v : Int) { + var str = "" + val myList = ArrayList() + val stream = FileInputStream(".") + for (i in args) { + + } + } +} diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/LiveTemplatesTest.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/LiveTemplatesTest.java index 2c65045b33c..ef7232bc45e 100644 --- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/LiveTemplatesTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/LiveTemplatesTest.java @@ -5,6 +5,7 @@ import com.intellij.codeInsight.lookup.LookupEx; import com.intellij.codeInsight.lookup.LookupManager; import com.intellij.codeInsight.template.TemplateManager; import com.intellij.codeInsight.template.impl.TemplateManagerImpl; +import com.intellij.codeInsight.template.impl.TemplateState; import com.intellij.ide.DataManager; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.editor.actionSystem.EditorActionManager; @@ -31,6 +32,17 @@ public class LiveTemplatesTest extends LightCodeInsightFixtureTestCase { doAction("ExpandLiveTemplateByTab"); assertStringItems("args", "collection", "myList", "str", "stream"); + + myFixture.type("args"); + + getTemplateState().nextTab(); + getTemplateState().nextTab(); + assertNull(getTemplateState()); + myFixture.checkResultByFile(getTestName(false) + ".exp.kt"); + } + + private TemplateState getTemplateState() { + return TemplateManagerImpl.getTemplateState(myFixture.getEditor()); } @NotNull