diff options
Diffstat (limited to 'test/cuchaz/enigma/TestTranslator.java')
| -rw-r--r-- | test/cuchaz/enigma/TestTranslator.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/cuchaz/enigma/TestTranslator.java b/test/cuchaz/enigma/TestTranslator.java index 3fe1680..0252605 100644 --- a/test/cuchaz/enigma/TestTranslator.java +++ b/test/cuchaz/enigma/TestTranslator.java | |||
| @@ -97,8 +97,44 @@ public class TestTranslator { | |||
| 97 | assertMapping(newMethod("none/c", "b", "()I"), newMethod("deobf/C_SubClass", "m2", "()I")); | 97 | assertMapping(newMethod("none/c", "b", "()I"), newMethod("deobf/C_SubClass", "m2", "()I")); |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | @Test | ||
| 101 | public void innerClasses() { | ||
| 102 | |||
| 103 | // classes | ||
| 104 | assertMapping(newClass("none/h"), newClass("deobf/H_OuterClass")); | ||
| 105 | assertMapping(newClass("none/h$i"), newClass("deobf/H_OuterClass$I_InnerClass")); | ||
| 106 | assertMapping(newClass("none/h$i$j"), newClass("deobf/H_OuterClass$I_InnerClass$J_InnerInnerClass")); | ||
| 107 | assertMapping(newClass("none/h$k"), newClass("deobf/H_OuterClass$k")); | ||
| 108 | assertMapping(newClass("none/h$k$l"), newClass("deobf/H_OuterClass$k$L_NamedInnerClass")); | ||
| 109 | |||
| 110 | // fields | ||
| 111 | assertMapping(newField("none/h$i", "a", "I"), newField("deobf/H_OuterClass$I_InnerClass", "f1", "I")); | ||
| 112 | assertMapping(newField("none/h$i", "a", "Ljava/lang/String;"), newField("deobf/H_OuterClass$I_InnerClass", "f2", "Ljava/lang/String;")); | ||
| 113 | assertMapping(newField("none/h$i$j", "a", "I"), newField("deobf/H_OuterClass$I_InnerClass$J_InnerInnerClass", "f3", "I")); | ||
| 114 | assertMapping(newField("none/h$k$l", "a", "I"), newField("deobf/H_OuterClass$k$L_NamedInnerClass", "f4", "I")); | ||
| 115 | |||
| 116 | // methods | ||
| 117 | assertMapping(newMethod("none/h$i", "a", "()V"), newMethod("deobf/H_OuterClass$I_InnerClass", "m1", "()V")); | ||
| 118 | assertMapping(newMethod("none/h$i$j", "a", "()V"), newMethod("deobf/H_OuterClass$I_InnerClass$J_InnerInnerClass", "m2", "()V")); | ||
| 119 | } | ||
| 120 | |||
| 121 | @Test | ||
| 122 | public void namelessClass() { | ||
| 123 | assertMapping(newClass("none/m"), newClass("none/m")); | ||
| 124 | } | ||
| 125 | |||
| 100 | private void assertMapping(Entry obf, Entry deobf) { | 126 | private void assertMapping(Entry obf, Entry deobf) { |
| 101 | assertThat(m_deobfTranslator.translateEntry(obf), is(deobf)); | 127 | assertThat(m_deobfTranslator.translateEntry(obf), is(deobf)); |
| 102 | assertThat(m_obfTranslator.translateEntry(deobf), is(obf)); | 128 | assertThat(m_obfTranslator.translateEntry(deobf), is(obf)); |
| 129 | |||
| 130 | String deobfName = m_deobfTranslator.translate(obf); | ||
| 131 | if (deobfName != null) { | ||
| 132 | assertThat(deobfName, is(deobf.getName())); | ||
| 133 | } | ||
| 134 | |||
| 135 | String obfName = m_obfTranslator.translate(deobf); | ||
| 136 | if (obfName != null) { | ||
| 137 | assertThat(obfName, is(obf.getName())); | ||
| 138 | } | ||
| 103 | } | 139 | } |
| 104 | } | 140 | } |