diff options
Diffstat (limited to 'src/test/kotlin')
-rw-r--r-- | src/test/kotlin/com/replaymod/gradle/remap/pattern/TestChangeMerging.kt | 36 | ||||
-rw-r--r-- | src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt | 8 |
2 files changed, 43 insertions, 1 deletions
diff --git a/src/test/kotlin/com/replaymod/gradle/remap/pattern/TestChangeMerging.kt b/src/test/kotlin/com/replaymod/gradle/remap/pattern/TestChangeMerging.kt new file mode 100644 index 0000000..e8b86d2 --- /dev/null +++ b/src/test/kotlin/com/replaymod/gradle/remap/pattern/TestChangeMerging.kt @@ -0,0 +1,36 @@ +package com.replaymod.gradle.remap.pattern + +import com.replaymod.gradle.remap.util.TestData +import io.kotest.matchers.collections.shouldHaveSize +import io.kotest.matchers.shouldBe +import io.kotest.matchers.string.shouldContain +import org.junit.jupiter.api.Test + +class TestChangeMerging { + @Test + fun `should work when mixed with remapping`() { + TestData.remap(""" + class Test { + private void test() { + a.pkg.A.create().aMethod(); + } + } + """.trimIndent(), """ + @remap.Pattern + private void addWrapping(a.pkg.A a) { + a.aMethod(); + } + """.trimIndent(), """ + @remap.Pattern + private void addWrapping(a.pkg.A a) { + (((a.bMethod()))); + } + """.trimIndent()) shouldBe """ + class Test { + private void test() { + (((b.pkg.B.create().bMethod()))); + } + } + """.trimIndent() + } +}
\ No newline at end of file diff --git a/src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt b/src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt index 0f83373..adb6f52 100644 --- a/src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt +++ b/src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt @@ -41,9 +41,15 @@ object TestData { findClasspathEntry("org.spongepowered.asm.mixin.Mixin"), findClasspathEntry("a.pkg.A"), ) + patternAnnotation = "remap.Pattern" } - fun remap(content: String): String = transformer.remap(mapOf("test.java" to content))["test.java"]!!.first + fun remap(content: String, patternsBefore: String = "", patternsAfter: String = ""): String = transformer.remap(mapOf( + "test.java" to content, + "pattern.java" to "class Patterns {\n$patternsBefore\n}", + ), mapOf( + "pattern.java" to "class Patterns {\n$patternsAfter\n}", + ))["test.java"]!!.first fun remapWithErrors(content: String) = transformer.remap(mapOf("test.java" to content))["test.java"]!! fun remapKt(content: String): String = transformer.remap(mapOf("test.kt" to content))["test.kt"]!!.first |