diff options
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/a/pkg/A.java | 1 | ||||
-rw-r--r-- | src/test/java/b/pkg/B.java | 1 | ||||
-rw-r--r-- | src/test/kotlin/com/replaymod/gradle/remap/mapper/TestMixinInjections.kt | 42 |
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 |