aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/a/pkg/A.java1
-rw-r--r--src/test/java/b/pkg/B.java1
-rw-r--r--src/test/kotlin/com/replaymod/gradle/remap/mapper/TestMixinInjections.kt42
3 files changed, 44 insertions, 0 deletions
diff --git a/src/test/java/a/pkg/A.java b/src/test/java/a/pkg/A.java
index 3e20f3e..ff779b2 100644
--- a/src/test/java/a/pkg/A.java
+++ b/src/test/java/a/pkg/A.java
@@ -10,6 +10,7 @@ public class A extends AParent implements AInterface {
}
public void aMethod() {
+ aInterfaceMethod();
}
public void aOverloaded() {
diff --git a/src/test/java/b/pkg/B.java b/src/test/java/b/pkg/B.java
index 3c71aae..6ed26c1 100644
--- a/src/test/java/b/pkg/B.java
+++ b/src/test/java/b/pkg/B.java
@@ -10,6 +10,7 @@ public class B extends BParent implements BInterface {
}
public void bMethod() {
+ bInterfaceMethod();
}
public void bOverloaded() {
diff --git a/src/test/kotlin/com/replaymod/gradle/remap/mapper/TestMixinInjections.kt b/src/test/kotlin/com/replaymod/gradle/remap/mapper/TestMixinInjections.kt
index 3f8d55f..f01a832 100644
--- a/src/test/kotlin/com/replaymod/gradle/remap/mapper/TestMixinInjections.kt
+++ b/src/test/kotlin/com/replaymod/gradle/remap/mapper/TestMixinInjections.kt
@@ -137,4 +137,46 @@ class TestMixinInjections {
}
""".trimIndent()
}
+
+ @Test
+ fun `remaps @At target`() {
+ TestData.remap("""
+ import org.spongepowered.asm.mixin.injection.At;
+ import org.spongepowered.asm.mixin.injection.Inject;
+ @org.spongepowered.asm.mixin.Mixin(a.pkg.A.class)
+ class MixinA {
+ @Inject(method = "aMethod", at = @At(target = "La/pkg/A;aInterfaceMethod()V"))
+ private void test() {}
+ }
+ """.trimIndent()) shouldBe """
+ import org.spongepowered.asm.mixin.injection.At;
+ import org.spongepowered.asm.mixin.injection.Inject;
+ @org.spongepowered.asm.mixin.Mixin(b.pkg.B.class)
+ class MixinA {
+ @Inject(method = "bMethod", at = @At(target = "Lb/pkg/B;bInterfaceMethod()V"))
+ private void test() {}
+ }
+ """.trimIndent()
+ }
+
+ @Test
+ fun `remaps @At target without mappings for target`() {
+ TestData.remap("""
+ import org.spongepowered.asm.mixin.injection.At;
+ import org.spongepowered.asm.mixin.injection.Inject;
+ @org.spongepowered.asm.mixin.Mixin(a.pkg.A.class)
+ class MixinA {
+ @Inject(method = "aMethod", at = @At(target = "La/pkg/A;unmappedOverloaded(La/pkg/A;)V"))
+ private void test() {}
+ }
+ """.trimIndent()) shouldBe """
+ import org.spongepowered.asm.mixin.injection.At;
+ import org.spongepowered.asm.mixin.injection.Inject;
+ @org.spongepowered.asm.mixin.Mixin(b.pkg.B.class)
+ class MixinA {
+ @Inject(method = "bMethod", at = @At(target = "Lb/pkg/B;unmappedOverloaded(Lb/pkg/B;)V"))
+ private void test() {}
+ }
+ """.trimIndent()
+ }
} \ No newline at end of file