blob: 97ea1cd25513268ab76ce97034f9d8d26690f14d [file] [log] [blame]
package org.jetbrains.plugins.groovy.intentions
import com.intellij.codeInsight.intention.IntentionAction
import com.intellij.psi.impl.source.PostprocessReformattingAspect
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
/**
* @author Sergey Evdokimov
*/
class GroovyConvertJUnitIntentionTest extends LightCodeInsightFixtureTestCase {
public void testAssertFalse() {
doTest("""
class A extends junit.framework.Assert {
public void testXxxx() {
assertFalse<caret>("!!!", 1 == 2)
}
}
""", """
class A extends junit.framework.Assert {
public void testXxxx() {
assert !(1 == 2): "!!!"
}
}
""")
}
public void testAssertEquals() {
doTest("""
class A extends junit.framework.Assert {
public void testXxxx() {
assertEquals<caret>("!!!", 1, 2)
}
}
""", """
class A extends junit.framework.Assert {
public void testXxxx() {
assert 1 == 2: "!!!"
}
}
""")
}
public void testAssertNotSame() {
doTest("""
class A extends junit.framework.Assert {
public void testXxxx() {
assertNotSame<caret>("1", "2")
}
}
""", """
class A extends junit.framework.Assert {
public void testXxxx() {
assert !"1".is("2")
}
}
""")
}
public void testFail() {
doTest("""
class A extends junit.framework.Assert {
public void testXxxx() {
assertSame<caret>("1")
}
}
""", null)
}
private void doTest(String before, String after) {
myFixture.addFileToProject("junit/framework/Assert.groovy", """
package junit.framework;
public class Assert {
public static void assertTrue(java.lang.String message, boolean condition) { }
public static void assertTrue(boolean condition) { }
public static void assertFalse(java.lang.String message, boolean condition) { }
public static void assertEquals(java.lang.Object expected, java.lang.Object actual) { }
public static void assertNotSame(java.lang.Object expected, java.lang.Object actual) { }
}
""")
myFixture.configureByText("A.groovy", before);
String hint = GroovyIntentionsBundle.message("convert.junit.assertion.to.assert.statement.intention.name");
final List<IntentionAction> list = myFixture.filterAvailableIntentions(hint);
if (after == null) {
assertEmpty(list);
return;
}
myFixture.launchAction(assertOneElement(list));
PostprocessReformattingAspect.getInstance(getProject()).doPostponedFormatting();
myFixture.checkResult(after)
}
}