From 42a397fc09849d4ab5e918ecc4170692cc072195 Mon Sep 17 00:00:00 2001 From: Bart van Helvert Date: Thu, 9 Mar 2023 13:13:59 +0100 Subject: [PATCH] [java] Improve test diff update test formatting GitOrigin-RevId: a5ce3bc944604dd6504522eb984d5dee2279fe5c --- .../execution/junit/JavaTestDiffUpdateTest.kt | 535 +++++++-------- .../KotlinTestDiffUpdateTest.kt | 610 +++++++++--------- 2 files changed, 576 insertions(+), 569 deletions(-) diff --git a/plugins/junit/test/com/intellij/execution/junit/JavaTestDiffUpdateTest.kt b/plugins/junit/test/com/intellij/execution/junit/JavaTestDiffUpdateTest.kt index 0dbac9d14223..e3d6a82f8771 100644 --- a/plugins/junit/test/com/intellij/execution/junit/JavaTestDiffUpdateTest.kt +++ b/plugins/junit/test/com/intellij/execution/junit/JavaTestDiffUpdateTest.kt @@ -4,8 +4,10 @@ package com.intellij.execution.junit import com.intellij.openapi.editor.Document import org.intellij.lang.annotations.Language -@Suppress("AssertBetweenInconvertibleTypes", "NewClassNamingConvention") +@Suppress("AssertBetweenInconvertibleTypes", "NewClassNamingConvention", "SameParameterValue") class JavaTestDiffUpdateTest : JvmTestDiffUpdateTest() { + private val fileExt = "java" + @Suppress("SameParameterValue") private fun checkHasNoDiff( @Language("Java") before: String, @@ -14,7 +16,7 @@ class JavaTestDiffUpdateTest : JvmTestDiffUpdateTest() { expected: String, actual: String, stackTrace: String - ) = checkHasNoDiff(before, testClass, testName, expected, actual, stackTrace, "java") + ) = checkHasNoDiff(before, testClass, testName, expected, actual, stackTrace, fileExt) @Suppress("SameParameterValue") private fun checkAcceptFullDiff( @@ -25,9 +27,8 @@ class JavaTestDiffUpdateTest : JvmTestDiffUpdateTest() { expected: String, actual: String, stackTrace: String - ) = checkAcceptFullDiff(before, after, testClass, testName, expected, actual, stackTrace, "java") + ) = checkAcceptFullDiff(before, after, testClass, testName, expected, actual, stackTrace, fileExt) - @Suppress("SameParameterValue") private fun checkPhysicalDiff( @Language("Java") before: String, @Language("Java") after: String, @@ -38,90 +39,90 @@ class JavaTestDiffUpdateTest : JvmTestDiffUpdateTest() { actual: String, stackTrace: String, change: (Document) -> Unit - ) = checkPhysicalDiff(before, after, diffAfter, testClass, testName, expected, actual, stackTrace, "java", change) + ) = checkPhysicalDiff(before, after, diffAfter, testClass, testName, expected, actual, stackTrace, fileExt, change) fun `test failure when stacktrace is corrupted`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.junit.Test; - - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("expected", "actual"); - } + import org.junit.Assert; + import org.junit.Test; + + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("expected", "actual"); } - """.trimIndent(), """ - import org.junit.Assert; - import org.junit.Test; - - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("expected", "actual"); - } + } + """.trimIndent(), """ + import org.junit.Assert; + import org.junit.Test; + + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("expected", "actual"); } + } """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - unexpected input + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + unexpected input """.trimIndent()) } fun `test accept string literal diff`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.junit.Test; + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("expected", "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("expected", "actual"); } - """.trimIndent(), """ - import org.junit.Assert; - import org.junit.Test; + } + """.trimIndent(), """ + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("actual", "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("actual", "actual"); } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) - """.trimIndent()) + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) + """.trimIndent()) } fun `test accept string literal diff with carriage return and line feed in expected`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.junit.Test; + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("expected\r\n", "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("expected\r\n", "actual"); } - """.trimIndent(), """ - import org.junit.Assert; - import org.junit.Test; + } + """.trimIndent(), """ + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("actual", "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("actual", "actual"); } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) - """.trimIndent()) + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) + """.trimIndent()) } fun `test accept diff is not available when expected is not a string literal`() { @@ -136,11 +137,11 @@ class JavaTestDiffUpdateTest : JvmTestDiffUpdateTest() { } } """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.fail(Assert.java:89) - at org.junit.Assert.failNotEquals(Assert.java:835) - at org.junit.Assert.assertEquals(Assert.java:120) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:120) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) """.trimIndent()) } @@ -156,269 +157,269 @@ class JavaTestDiffUpdateTest : JvmTestDiffUpdateTest() { } } """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.fail(Assert.java:89) - at org.junit.Assert.failNotEquals(Assert.java:835) - at org.junit.Assert.assertEquals(Assert.java:120) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:120) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) """.trimIndent()) } fun `test accept text block diff`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.junit.Test; + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals(""${'"'} - expected""${'"'}, "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals(""${'"'} + expected""${'"'}, "actual"); } - """.trimIndent(), """ - import org.junit.Assert; - import org.junit.Test; + } + """.trimIndent(), """ + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals(""${'"'} - actual""${'"'}, "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals(""${'"'} + actual""${'"'}, "actual"); } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) - """.trimIndent()) + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) + """.trimIndent()) } fun `test physical string literal change sync`() { - checkPhysicalDiff(before = """ - import org.junit.Assert; - import org.junit.Test; + checkPhysicalDiff(""" + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("expected", "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("expected", "actual"); } - """.trimIndent(), after = """ - import org.junit.Assert; - import org.junit.Test; + } + """.trimIndent(), after = """ + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("expectedFoo", "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("expectedFoo", "actual"); } - """.trimIndent(), diffAfter = "expectedFoo", "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) - """.trimIndent()) { document -> - document.insertString(myFixture.editor.caretModel.offset, "Foo") - } + } + """.trimIndent(), diffAfter = "expectedFoo", "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) + """.trimIndent()) { document -> document.insertString(myFixture.editor.caretModel.offset, "Foo") } } fun `test physical non-string literal change sync`() { checkPhysicalDiff(before = """ - import org.junit.Assert; - import org.junit.Test; + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("expected", "actual"); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("expected", "actual"); } - """.trimIndent(), after = """ - import org.junit.Assert; - import org.junit.Test; + } + """.trimIndent(), after = """ + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTestFoo { - @Test - public void testFoo() { - Assert.assertEquals("expected", "actual"); - } + public class MyJUnitTestFoo { + @Test + public void testFoo() { + Assert.assertEquals("expected", "actual"); } + } """.trimIndent(), diffAfter = "expected", "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) - """.trimIndent()) { document -> - document.insertString(myFixture.editor.caretModel.offset, "Foo") - } + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) + """.trimIndent()) { document -> document.insertString(myFixture.editor.caretModel.offset, "Foo") } } fun `test accept string literal diff with escape`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.junit.Test; + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("expected", "actual\""); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("expected", "actual\""); } - """.trimIndent(), """ - import org.junit.Assert; - import org.junit.Test; + } + """.trimIndent(), """ + import org.junit.Assert; + import org.junit.Test; - public class MyJUnitTest { - @Test - public void testFoo() { - Assert.assertEquals("actual\"", "actual\""); - } + public class MyJUnitTest { + @Test + public void testFoo() { + Assert.assertEquals("actual\"", "actual\""); } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual\"", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) - """.trimIndent()) + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual\"", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) + """.trimIndent()) } fun `test accept parameter reference diff`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.testng.annotations.Test; + import org.junit.Assert; + import org.testng.annotations.Test; - public class MyJUnitTest { - @Test - void testFoo() { - doTest("expected"); - } - - void doTest(String expected) { - Assert.assertEquals(expected, "actual"); - } + public class MyJUnitTest { + @Test + void testFoo() { + doTest("expected"); } - """.trimIndent(), """ - import org.junit.Assert; - import org.testng.annotations.Test; + + void doTest(String expected) { + Assert.assertEquals(expected, "actual"); + } + } + """.trimIndent(), """ + import org.junit.Assert; + import org.testng.annotations.Test; - public class MyJUnitTest { - @Test - void testFoo() { - doTest("actual"); - } - - void doTest(String expected) { - Assert.assertEquals(expected, "actual"); - } + public class MyJUnitTest { + @Test + void testFoo() { + doTest("actual"); } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.doTest(MyJUnitTest.java:11) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) - """.trimIndent()) + + void doTest(String expected) { + Assert.assertEquals(expected, "actual"); + } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.doTest(MyJUnitTest.java:11) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) + """.trimIndent()) } fun `test accept parameter reference diff multiple calls on same line`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.testng.annotations.Test; + import org.junit.Assert; + import org.testng.annotations.Test; - public class MyJUnitTest { - @Test - void testFoo() { - doAnotherTest(); doTest("expected"); - } - - void doTest(String expected) { - Assert.assertEquals(expected, "actual"); - } - - void doAnotherTest() { } + public class MyJUnitTest { + @Test + void testFoo() { + doAnotherTest(); doTest("expected"); } - """.trimIndent(), """ - import org.junit.Assert; - import org.testng.annotations.Test; + + void doTest(String expected) { + Assert.assertEquals(expected, "actual"); + } + + void doAnotherTest() { } + } + """.trimIndent(), """ + import org.junit.Assert; + import org.testng.annotations.Test; - public class MyJUnitTest { - @Test - void testFoo() { - doAnotherTest(); doTest("actual"); - } - - void doTest(String expected) { - Assert.assertEquals(expected, "actual"); - } - - void doAnotherTest() { } + public class MyJUnitTest { + @Test + void testFoo() { + doAnotherTest(); doTest("actual"); } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.doTest(MyJUnitTest.java:11) - at MyJUnitTest.testFoo(MyJUnitTest.java:7) - """.trimIndent()) + + void doTest(String expected) { + Assert.assertEquals(expected, "actual"); + } + + void doAnotherTest() { } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.doTest(MyJUnitTest.java:11) + at MyJUnitTest.testFoo(MyJUnitTest.java:7) + """.trimIndent()) } fun `test accept local variable reference diff`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.testng.annotations.Test; + import org.junit.Assert; + import org.testng.annotations.Test; - public class MyJUnitTest { - @Test - void testFoo() { - String exp = "expected"; - Assert.assertEquals(exp, "actual"); - } + public class MyJUnitTest { + @Test + void testFoo() { + String exp = "expected"; + Assert.assertEquals(exp, "actual"); } - """.trimIndent(), """ - import org.junit.Assert; - import org.testng.annotations.Test; + } + """.trimIndent(), """ + import org.junit.Assert; + import org.testng.annotations.Test; - public class MyJUnitTest { - @Test - void testFoo() { - String exp = "actual"; - Assert.assertEquals(exp, "actual"); - } + public class MyJUnitTest { + @Test + void testFoo() { + String exp = "actual"; + Assert.assertEquals(exp, "actual"); } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:8) - """.trimIndent()) + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:8) + """.trimIndent()) } fun `test accept field reference diff`() { checkAcceptFullDiff(""" - import org.junit.Assert; - import org.testng.annotations.Test; + import org.junit.Assert; + import org.testng.annotations.Test; - public class MyJUnitTest { - private String exp = "expected"; + public class MyJUnitTest { + private String exp = "expected"; - @Test - void testFoo() { - Assert.assertEquals(exp, "actual"); - } + @Test + void testFoo() { + Assert.assertEquals(exp, "actual"); } - """.trimIndent(), """ - import org.junit.Assert; - import org.testng.annotations.Test; + } + """.trimIndent(), """ + import org.junit.Assert; + import org.testng.annotations.Test; - public class MyJUnitTest { - private String exp = "actual"; + public class MyJUnitTest { + private String exp = "actual"; - @Test - void testFoo() { - Assert.assertEquals(exp, "actual"); - } + @Test + void testFoo() { + Assert.assertEquals(exp, "actual"); } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.java:9) - """.trimIndent()) + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.java:9) + """.trimIndent()) + } + + companion object { + private const val fileExt = "java" } } \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/testIntegration/KotlinTestDiffUpdateTest.kt b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/testIntegration/KotlinTestDiffUpdateTest.kt index 410ae91781e8..41028df042a5 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/testIntegration/KotlinTestDiffUpdateTest.kt +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/testIntegration/KotlinTestDiffUpdateTest.kt @@ -5,8 +5,8 @@ import com.intellij.execution.junit.JvmTestDiffUpdateTest import com.intellij.openapi.editor.Document import org.intellij.lang.annotations.Language +@Suppress("NewClassNamingConvention", "SameParameterValue") class KotlinTestDiffUpdateTest : JvmTestDiffUpdateTest() { - @Suppress("SameParameterValue") private fun checkHasNoDiff( @Language("kotlin") before: String, testClass: String, @@ -14,9 +14,8 @@ class KotlinTestDiffUpdateTest : JvmTestDiffUpdateTest() { expected: String, actual: String, stackTrace: String - ) = checkHasNoDiff(before, testClass, testName, expected, actual, stackTrace, "kt") + ) = checkHasNoDiff(before, testClass, testName, expected, actual, stackTrace, fileExt) - @Suppress("SameParameterValue") private fun checkAcceptFullDiff( @Language("kotlin") before: String, @Language("kotlin") after: String, @@ -25,9 +24,8 @@ class KotlinTestDiffUpdateTest : JvmTestDiffUpdateTest() { expected: String, actual: String, stackTrace: String - ) = checkAcceptFullDiff(before, after, testClass, testName, expected, actual, stackTrace, "kt") + ) = checkAcceptFullDiff(before, after, testClass, testName, expected, actual, stackTrace, fileExt) - @Suppress("SameParameterValue") private fun checkPhysicalDiff( @Language("kotlin") before: String, @Language("kotlin") after: String, @@ -38,40 +36,41 @@ class KotlinTestDiffUpdateTest : JvmTestDiffUpdateTest() { actual: String, stackTrace: String, change: (Document) -> Unit - ) = checkPhysicalDiff(before, after, diffAfter, testClass, testName, expected, actual, stackTrace, "kt", change) + ) = checkPhysicalDiff(before, after, diffAfter, testClass, testName, expected, actual, stackTrace, fileExt, change) fun `test accept string literal diff`() { checkAcceptFullDiff( """ - import org.junit.Assert - import org.junit.Test + import org.junit.Assert + import org.junit.Test - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("expected", "actual") - } - } - """.trimIndent(), """ - import org.junit.Assert - import org.junit.Test + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("expected", "actual") + } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("actual", "actual") - } - } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.kt:7) - """.trimIndent() + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("actual", "actual") + } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.kt:7) + """.trimIndent() ) } fun `test accept diff is not available when expected is not a string literal`() { - checkHasNoDiff(""" + checkHasNoDiff( + """ import org.junit.Assert import org.junit.Test @@ -81,17 +80,19 @@ class KotlinTestDiffUpdateTest : JvmTestDiffUpdateTest() { Assert.assertEquals(true, "actual") } } - """.trimIndent(), "MyJunitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.fail(Assert.java:89) - at org.junit.Assert.failNotEquals(Assert.java:835) - at org.junit.Assert.assertEquals(Assert.java:120) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJunitTest.testFoo(MyJunitTest.kt:7) - """.trimIndent()) + """.trimIndent(), "MyJunitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:120) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJunitTest.testFoo(MyJunitTest.kt:7) + """.trimIndent() + ) } fun `test accept diff is not available when actual is not a string literal`() { - checkHasNoDiff(""" + checkHasNoDiff( + """ import org.junit.Assert import org.junit.Test @@ -101,319 +102,324 @@ class KotlinTestDiffUpdateTest : JvmTestDiffUpdateTest() { Assert.assertEquals("expected", true) } } - """.trimIndent(), "MyJunitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.fail(Assert.java:89) - at org.junit.Assert.failNotEquals(Assert.java:835) - at org.junit.Assert.assertEquals(Assert.java:120) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJunitTest.testFoo(MyJunitTest.kt:7) - """.trimIndent()) + """.trimIndent(), "MyJunitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:120) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJunitTest.testFoo(MyJunitTest.kt:7) + """.trimIndent() + ) } fun `test physical string literal change sync`() { - checkPhysicalDiff(before = """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("expected", "actual") - } - } - """.trimIndent(), after = """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("expectedFoo", "actual") - } - } - """.trimIndent(), diffAfter = "expectedFoo", "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.kt:7) - """.trimIndent()) { document -> - document.insertString(myFixture.editor.caretModel.offset, "Foo") - } + checkPhysicalDiff( + """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("expected", "actual") + } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("expectedFoo", "actual") + } + } + """.trimIndent(), diffAfter = "expectedFoo", "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.kt:7) + """.trimIndent() + ) { document -> document.insertString(myFixture.editor.caretModel.offset, "Foo") } } fun `test physical non-string literal change sync`() { - checkPhysicalDiff(before = """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("expected", "actual") - } - } - """.trimIndent(), after = """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTestFoo { - @Test - fun testFoo() { - Assert.assertEquals("expected", "actual") - } - } - """.trimIndent(), diffAfter = "expected", "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.kt:7) - """.trimIndent()) { document -> - document.insertString(myFixture.editor.caretModel.offset, "Foo") - } + checkPhysicalDiff( + """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("expected", "actual") + } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTestFoo { + @Test + fun testFoo() { + Assert.assertEquals("expected", "actual") + } + } + """.trimIndent(), diffAfter = "expected", "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.kt:7) + """.trimIndent() + ) { document -> document.insertString(myFixture.editor.caretModel.offset, "Foo") } } fun `test accept string literal diff with escape`() { checkAcceptFullDiff( """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("expected", "actual\"") - } - } - """.trimIndent(), """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("actual\"", "actual\"") - } - } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual\"", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.kt:7) - """.trimIndent() + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("expected", "actual\"") + } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("actual\"", "actual\"") + } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual\"", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.kt:7) + """.trimIndent() ) } fun `test accept parameter reference diff`() { checkAcceptFullDiff( """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - doTest("expected") - } - - private fun doTest(ex: String) { - Assert.assertEquals(ex, "actual") - } - } - """.trimIndent(), """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - doTest("actual") - } - - private fun doTest(ex: String) { - Assert.assertEquals(ex, "actual") - } - } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.doTest(MyJUnitTest.kt:11) - at MyJUnitTest.testFoo(MyJUnitTest.kt:7) - """.trimIndent() + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + doTest("expected") + } + + private fun doTest(ex: String) { + Assert.assertEquals(ex, "actual") + } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + doTest("actual") + } + + private fun doTest(ex: String) { + Assert.assertEquals(ex, "actual") + } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.doTest(MyJUnitTest.kt:11) + at MyJUnitTest.testFoo(MyJUnitTest.kt:7) + """.trimIndent() ) } fun `test accept parameter reference diff in named call`() { checkAcceptFullDiff( """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - doTest(ex = "expected", other = 0) - } - - private fun doTest(other: Int, ex: String) { - Assert.assertEquals(ex, "actual") - } - } - """.trimIndent(), """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - doTest(ex = "actual", other = 0) - } - - private fun doTest(other: Int, ex: String) { - Assert.assertEquals(ex, "actual") - } - } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.doTest(MyJUnitTest.kt:11) - at MyJUnitTest.testFoo(MyJUnitTest.kt:7) - """.trimIndent() + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + doTest(ex = "expected", other = 0) + } + + private fun doTest(other: Int, ex: String) { + Assert.assertEquals(ex, "actual") + } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + doTest(ex = "actual", other = 0) + } + + private fun doTest(other: Int, ex: String) { + Assert.assertEquals(ex, "actual") + } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.doTest(MyJUnitTest.kt:11) + at MyJUnitTest.testFoo(MyJUnitTest.kt:7) + """.trimIndent() ) } fun `test accept parameter reference diff with multiple calls on same line`() { checkAcceptFullDiff( """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - doAnotherTest(); doTest("expected") - } - - private fun doTest(ex: String) { - Assert.assertEquals(ex, "actual") - } - - private fun doAnotherTest() { } - } - """.trimIndent(), """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - doAnotherTest(); doTest("actual") - } - - private fun doTest(ex: String) { - Assert.assertEquals(ex, "actual") - } - - private fun doAnotherTest() { } - } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.doTest(MyJUnitTest.kt:11) - at MyJUnitTest.testFoo(MyJUnitTest.kt:7) - """.trimIndent() + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + doAnotherTest(); doTest("expected") + } + + private fun doTest(ex: String) { + Assert.assertEquals(ex, "actual") + } + + private fun doAnotherTest() { } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + doAnotherTest(); doTest("actual") + } + + private fun doTest(ex: String) { + Assert.assertEquals(ex, "actual") + } + + private fun doAnotherTest() { } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.doTest(MyJUnitTest.kt:11) + at MyJUnitTest.testFoo(MyJUnitTest.kt:7) + """.trimIndent() ) } fun `test accept local variable reference diff`() { checkAcceptFullDiff( """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - val ex = "expected" - Assert.assertEquals(ex, "actual") - } - } - """.trimIndent(), """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - val ex = "actual" - Assert.assertEquals(ex, "actual") - } - } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.kt:8) - """.trimIndent() + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + val ex = "expected" + Assert.assertEquals(ex, "actual") + } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + val ex = "actual" + Assert.assertEquals(ex, "actual") + } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.kt:8) + """.trimIndent() ) } fun `test accept field reference diff`() { checkAcceptFullDiff( """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - private val ex = "expected" - - @Test - fun testFoo() { - Assert.assertEquals(ex, "actual") - } - } - """.trimIndent(), """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - private val ex = "actual" - - @Test - fun testFoo() { - Assert.assertEquals(ex, "actual") - } - } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.kt:9) - """.trimIndent() + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + private val ex = "expected" + + @Test + fun testFoo() { + Assert.assertEquals(ex, "actual") + } + } + """.trimIndent(), """ + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + private val ex = "actual" + + @Test + fun testFoo() { + Assert.assertEquals(ex, "actual") + } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.kt:9) + """.trimIndent() ) } fun `_test accept polyadic string literal diff`() { checkAcceptFullDiff( """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("exp" + "ect" + "ed", "actual") - } - } + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("exp" + "ect" + "ed", "actual") + } + } """.trimIndent(), """ - import org.junit.Assert - import org.junit.Test - - class MyJUnitTest { - @Test - fun testFoo() { - Assert.assertEquals("actual", "actual") - } - } - """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ - at org.junit.Assert.assertEquals(Assert.java:117) - at org.junit.Assert.assertEquals(Assert.java:146) - at MyJUnitTest.testFoo(MyJUnitTest.kt:7) - """.trimIndent() + import org.junit.Assert + import org.junit.Test + + class MyJUnitTest { + @Test + fun testFoo() { + Assert.assertEquals("actual", "actual") + } + } + """.trimIndent(), "MyJUnitTest", "testFoo", "expected", "actual", """ + at org.junit.Assert.assertEquals(Assert.java:117) + at org.junit.Assert.assertEquals(Assert.java:146) + at MyJUnitTest.testFoo(MyJUnitTest.kt:7) + """.trimIndent() ) } + + companion object { + private const val fileExt = "kt" + } } \ No newline at end of file