From 8c75c408c16fdd09cd6699b34056a6ba5862a3d6 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Mon, 13 Feb 2012 22:04:41 +0400 Subject: [PATCH] Added tests for anonymous template --- idea/testData/templates/anonymous_1.exp.kt | 10 ++++ idea/testData/templates/anonymous_1.kt | 5 ++ idea/testData/templates/anonymous_2.exp.kt | 7 +++ idea/testData/templates/anonymous_2.kt | 5 ++ .../plugin/codeInsight/LiveTemplatesTest.java | 48 +++++++++++++++++-- 5 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 idea/testData/templates/anonymous_1.exp.kt create mode 100644 idea/testData/templates/anonymous_1.kt create mode 100644 idea/testData/templates/anonymous_2.exp.kt create mode 100644 idea/testData/templates/anonymous_2.kt diff --git a/idea/testData/templates/anonymous_1.exp.kt b/idea/testData/templates/anonymous_1.exp.kt new file mode 100644 index 00000000000..e319b8a07f9 --- /dev/null +++ b/idea/testData/templates/anonymous_1.exp.kt @@ -0,0 +1,10 @@ +import javax.swing.SwingUtilities + +fun main(args : Array) { + SwingUtilities.invokeLater(object : Runnable { + + override fun run() { + throw UnsupportedOperationException() + } + }) +} diff --git a/idea/testData/templates/anonymous_1.kt b/idea/testData/templates/anonymous_1.kt new file mode 100644 index 00000000000..9a31e402c33 --- /dev/null +++ b/idea/testData/templates/anonymous_1.kt @@ -0,0 +1,5 @@ +import javax.swing.SwingUtilities + +fun main(args : Array) { + SwingUtilities.invokeLater() +} diff --git a/idea/testData/templates/anonymous_2.exp.kt b/idea/testData/templates/anonymous_2.exp.kt new file mode 100644 index 00000000000..cdc6ddbf363 --- /dev/null +++ b/idea/testData/templates/anonymous_2.exp.kt @@ -0,0 +1,7 @@ +import javax.swing.SwingUtilities + +fun main(args : Array) { + SwingUtilities.invokeLater(object : Thread() { + + }) +} diff --git a/idea/testData/templates/anonymous_2.kt b/idea/testData/templates/anonymous_2.kt new file mode 100644 index 00000000000..9a31e402c33 --- /dev/null +++ b/idea/testData/templates/anonymous_2.kt @@ -0,0 +1,5 @@ +import javax.swing.SwingUtilities + +fun main(args : Array) { + SwingUtilities.invokeLater() +} diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/LiveTemplatesTest.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/LiveTemplatesTest.java index b1ec7e915c9..dc2d66dfda3 100644 --- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/LiveTemplatesTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/LiveTemplatesTest.java @@ -7,11 +7,14 @@ 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.application.ApplicationManager; +import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.editor.actionSystem.EditorActionManager; import com.intellij.testFramework.LightProjectDescriptor; import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; import com.intellij.util.ArrayUtil; +import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JetWithJdkAndRuntimeLightProjectDescriptor; @@ -153,6 +156,22 @@ public class LiveTemplatesTest extends LightCodeInsightFixtureTestCase { checkAfter(); } + public void testAnonymous_1() { + start(); + + typeAndNextTab("Runnable"); + + checkAfter(); + } + + public void testAnonymous_2() { + start(); + + typeAndNextTab("Thread"); + + checkAfter(); + } + private void paremeterless() { @@ -163,19 +182,42 @@ public class LiveTemplatesTest extends LightCodeInsightFixtureTestCase { private void start() { myFixture.configureByFile(getTestName(true) + ".kt"); - myFixture.type(getTestName(true)); + myFixture.type(getTemplateName()); doAction("ExpandLiveTemplateByTab"); } + private String getTemplateName() { + String testName = getTestName(true); + if (testName.contains("_")) { + return testName.substring(0, testName.indexOf("_")); + } + return testName; + } + private void checkAfter() { assertNull(getTemplateState()); - myFixture.checkResultByFile(getTestName(true) + ".exp.kt"); + myFixture.checkResultByFile(getTestName(true) + ".exp.kt", true); } private void typeAndNextTab(String s) { type(s); - nextTab(); + UIUtil.invokeAndWaitIfNeeded(new Runnable() { + @Override + public void run() { + CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() { + @Override + public void run() { + ApplicationManager.getApplication().runWriteAction(new Runnable() { + @Override + public void run() { + nextTab(); + } + }); + } + }, "nextTab", null); + } + }); } private void type(String s) {