diff options
| author | 2016-07-02 18:04:57 +1000 | |
|---|---|---|
| committer | 2016-07-02 18:04:57 +1000 | |
| commit | 64c359d3c1d2347001e5c6becb1d7561457f52cc (patch) | |
| tree | bc2f37325b770475237437d204e95254dbfa0b3d /src/test/java/cuchaz | |
| parent | Fixed Null.json and #4 (diff) | |
| download | enigma-64c359d3c1d2347001e5c6becb1d7561457f52cc.tar.gz enigma-64c359d3c1d2347001e5c6becb1d7561457f52cc.tar.xz enigma-64c359d3c1d2347001e5c6becb1d7561457f52cc.zip | |
Renamed Fields
Diffstat (limited to 'src/test/java/cuchaz')
| -rw-r--r-- | src/test/java/cuchaz/enigma/TestTranslator.java | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/src/test/java/cuchaz/enigma/TestTranslator.java b/src/test/java/cuchaz/enigma/TestTranslator.java index 9b7f0931..dcdced01 100644 --- a/src/test/java/cuchaz/enigma/TestTranslator.java +++ b/src/test/java/cuchaz/enigma/TestTranslator.java | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | * are made available under the terms of the GNU Lesser General Public | 4 | * are made available under the terms of the GNU Lesser General Public |
| 5 | * License v3.0 which accompanies this distribution, and is available at | 5 | * License v3.0 which accompanies this distribution, and is available at |
| 6 | * http://www.gnu.org/licenses/lgpl.html | 6 | * http://www.gnu.org/licenses/lgpl.html |
| 7 | * | 7 | * |
| 8 | * Contributors: | 8 | * Contributors: |
| 9 | * Jeff Martin - initial API and implementation | 9 | * Jeff Martin - initial API and implementation |
| 10 | ******************************************************************************/ | 10 | ******************************************************************************/ |
| @@ -34,7 +34,7 @@ public class TestTranslator { | |||
| 34 | private static Mappings m_mappings; | 34 | private static Mappings m_mappings; |
| 35 | private static Translator m_deobfTranslator; | 35 | private static Translator m_deobfTranslator; |
| 36 | private static Translator m_obfTranslator; | 36 | private static Translator m_obfTranslator; |
| 37 | 37 | ||
| 38 | @BeforeClass | 38 | @BeforeClass |
| 39 | public static void beforeClass() | 39 | public static void beforeClass() |
| 40 | throws Exception { | 40 | throws Exception { |
| @@ -47,7 +47,7 @@ public class TestTranslator { | |||
| 47 | // m_obfTranslator = m_deobfuscator.getTranslator(TranslationDirection.Obfuscating); | 47 | // m_obfTranslator = m_deobfuscator.getTranslator(TranslationDirection.Obfuscating); |
| 48 | //} | 48 | //} |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | @Test | 51 | @Test |
| 52 | public void basicClasses() { | 52 | public void basicClasses() { |
| 53 | assertMapping(newClass("none/a"), newClass("deobf/A_Basic")); | 53 | assertMapping(newClass("none/a"), newClass("deobf/A_Basic")); |
| @@ -61,7 +61,7 @@ public class TestTranslator { | |||
| 61 | assertMapping(newField("none/a", "a", "F"), newField("deobf/A_Basic", "f2", "F")); | 61 | assertMapping(newField("none/a", "a", "F"), newField("deobf/A_Basic", "f2", "F")); |
| 62 | assertMapping(newField("none/a", "a", "Ljava/lang/String;"), newField("deobf/A_Basic", "f3", "Ljava/lang/String;")); | 62 | assertMapping(newField("none/a", "a", "Ljava/lang/String;"), newField("deobf/A_Basic", "f3", "Ljava/lang/String;")); |
| 63 | } | 63 | } |
| 64 | 64 | ||
| 65 | @Test | 65 | @Test |
| 66 | public void basicMethods() { | 66 | public void basicMethods() { |
| 67 | assertMapping(newMethod("none/a", "a", "()V"), newMethod("deobf/A_Basic", "m1", "()V")); | 67 | assertMapping(newMethod("none/a", "a", "()V"), newMethod("deobf/A_Basic", "m1", "()V")); |
| @@ -69,9 +69,9 @@ public class TestTranslator { | |||
| 69 | assertMapping(newMethod("none/a", "a", "(I)V"), newMethod("deobf/A_Basic", "m3", "(I)V")); | 69 | assertMapping(newMethod("none/a", "a", "(I)V"), newMethod("deobf/A_Basic", "m3", "(I)V")); |
| 70 | assertMapping(newMethod("none/a", "a", "(I)I"), newMethod("deobf/A_Basic", "m4", "(I)I")); | 70 | assertMapping(newMethod("none/a", "a", "(I)I"), newMethod("deobf/A_Basic", "m4", "(I)I")); |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | // TODO: basic constructors | 73 | // TODO: basic constructors |
| 74 | 74 | ||
| 75 | @Test | 75 | @Test |
| 76 | public void inheritanceFields() { | 76 | public void inheritanceFields() { |
| 77 | assertMapping(newField("none/b", "a", "I"), newField("deobf/B_BaseClass", "f1", "I")); | 77 | assertMapping(newField("none/b", "a", "I"), newField("deobf/B_BaseClass", "f1", "I")); |
| @@ -79,69 +79,69 @@ public class TestTranslator { | |||
| 79 | assertMapping(newField("none/c", "b", "I"), newField("deobf/C_SubClass", "f3", "I")); | 79 | assertMapping(newField("none/c", "b", "I"), newField("deobf/C_SubClass", "f3", "I")); |
| 80 | assertMapping(newField("none/c", "c", "I"), newField("deobf/C_SubClass", "f4", "I")); | 80 | assertMapping(newField("none/c", "c", "I"), newField("deobf/C_SubClass", "f4", "I")); |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | @Test | 83 | @Test |
| 84 | public void inheritanceFieldsShadowing() { | 84 | public void inheritanceFieldsShadowing() { |
| 85 | assertMapping(newField("none/c", "b", "C"), newField("deobf/C_SubClass", "f2", "C")); | 85 | assertMapping(newField("none/c", "b", "C"), newField("deobf/C_SubClass", "f2", "C")); |
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | @Test | 88 | @Test |
| 89 | public void inheritanceFieldsBySubClass() { | 89 | public void inheritanceFieldsBySubClass() { |
| 90 | assertMapping(newField("none/c", "a", "I"), newField("deobf/C_SubClass", "f1", "I")); | 90 | assertMapping(newField("none/c", "a", "I"), newField("deobf/C_SubClass", "f1", "I")); |
| 91 | // NOTE: can't reference b.C by subclass since it's shadowed | 91 | // NOTE: can't reference b.C by subclass since it's shadowed |
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | @Test | 94 | @Test |
| 95 | public void inheritanceMethods() { | 95 | public void inheritanceMethods() { |
| 96 | assertMapping(newMethod("none/b", "a", "()I"), newMethod("deobf/B_BaseClass", "m1", "()I")); | 96 | assertMapping(newMethod("none/b", "a", "()I"), newMethod("deobf/B_BaseClass", "m1", "()I")); |
| 97 | assertMapping(newMethod("none/b", "b", "()I"), newMethod("deobf/B_BaseClass", "m2", "()I")); | 97 | assertMapping(newMethod("none/b", "b", "()I"), newMethod("deobf/B_BaseClass", "m2", "()I")); |
| 98 | assertMapping(newMethod("none/c", "c", "()I"), newMethod("deobf/C_SubClass", "m3", "()I")); | 98 | assertMapping(newMethod("none/c", "c", "()I"), newMethod("deobf/C_SubClass", "m3", "()I")); |
| 99 | } | 99 | } |
| 100 | 100 | ||
| 101 | @Test | 101 | @Test |
| 102 | public void inheritanceMethodsOverrides() { | 102 | public void inheritanceMethodsOverrides() { |
| 103 | assertMapping(newMethod("none/c", "a", "()I"), newMethod("deobf/C_SubClass", "m1", "()I")); | 103 | assertMapping(newMethod("none/c", "a", "()I"), newMethod("deobf/C_SubClass", "m1", "()I")); |
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | @Test | 106 | @Test |
| 107 | public void inheritanceMethodsBySubClass() { | 107 | public void inheritanceMethodsBySubClass() { |
| 108 | assertMapping(newMethod("none/c", "b", "()I"), newMethod("deobf/C_SubClass", "m2", "()I")); | 108 | assertMapping(newMethod("none/c", "b", "()I"), newMethod("deobf/C_SubClass", "m2", "()I")); |
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | @Test | 111 | @Test |
| 112 | public void innerClasses() { | 112 | public void innerClasses() { |
| 113 | 113 | ||
| 114 | // classes | 114 | // classes |
| 115 | assertMapping(newClass("none/g"), newClass("deobf/G_OuterClass")); | 115 | assertMapping(newClass("none/g"), newClass("deobf/G_OuterClass")); |
| 116 | assertMapping(newClass("none/g$a"), newClass("deobf/G_OuterClass$A_InnerClass")); | 116 | assertMapping(newClass("none/g$a"), newClass("deobf/G_OuterClass$A_InnerClass")); |
| 117 | assertMapping(newClass("none/g$a$a"), newClass("deobf/G_OuterClass$A_InnerClass$A_InnerInnerClass")); | 117 | assertMapping(newClass("none/g$a$a"), newClass("deobf/G_OuterClass$A_InnerClass$A_InnerInnerClass")); |
| 118 | assertMapping(newClass("none/g$b"), newClass("deobf/G_OuterClass$b")); | 118 | assertMapping(newClass("none/g$b"), newClass("deobf/G_OuterClass$b")); |
| 119 | assertMapping(newClass("none/g$b$a"), newClass("deobf/G_OuterClass$b$A_NamedInnerClass")); | 119 | assertMapping(newClass("none/g$b$a"), newClass("deobf/G_OuterClass$b$A_NamedInnerClass")); |
| 120 | 120 | ||
| 121 | // fields | 121 | // fields |
| 122 | assertMapping(newField("none/g$a", "a", "I"), newField("deobf/G_OuterClass$A_InnerClass", "f1", "I")); | 122 | assertMapping(newField("none/g$a", "a", "I"), newField("deobf/G_OuterClass$A_InnerClass", "f1", "I")); |
| 123 | assertMapping(newField("none/g$a", "a", "Ljava/lang/String;"), newField("deobf/G_OuterClass$A_InnerClass", "f2", "Ljava/lang/String;")); | 123 | assertMapping(newField("none/g$a", "a", "Ljava/lang/String;"), newField("deobf/G_OuterClass$A_InnerClass", "f2", "Ljava/lang/String;")); |
| 124 | assertMapping(newField("none/g$a$a", "a", "I"), newField("deobf/G_OuterClass$A_InnerClass$A_InnerInnerClass", "f3", "I")); | 124 | assertMapping(newField("none/g$a$a", "a", "I"), newField("deobf/G_OuterClass$A_InnerClass$A_InnerInnerClass", "f3", "I")); |
| 125 | assertMapping(newField("none/g$b$a", "a", "I"), newField("deobf/G_OuterClass$b$A_NamedInnerClass", "f4", "I")); | 125 | assertMapping(newField("none/g$b$a", "a", "I"), newField("deobf/G_OuterClass$b$A_NamedInnerClass", "f4", "I")); |
| 126 | 126 | ||
| 127 | // methods | 127 | // methods |
| 128 | assertMapping(newMethod("none/g$a", "a", "()V"), newMethod("deobf/G_OuterClass$A_InnerClass", "m1", "()V")); | 128 | assertMapping(newMethod("none/g$a", "a", "()V"), newMethod("deobf/G_OuterClass$A_InnerClass", "m1", "()V")); |
| 129 | assertMapping(newMethod("none/g$a$a", "a", "()V"), newMethod("deobf/G_OuterClass$A_InnerClass$A_InnerInnerClass", "m2", "()V")); | 129 | assertMapping(newMethod("none/g$a$a", "a", "()V"), newMethod("deobf/G_OuterClass$A_InnerClass$A_InnerInnerClass", "m2", "()V")); |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | @Test | 132 | @Test |
| 133 | public void namelessClass() { | 133 | public void namelessClass() { |
| 134 | assertMapping(newClass("none/h"), newClass("none/h")); | 134 | assertMapping(newClass("none/h"), newClass("none/h")); |
| 135 | } | 135 | } |
| 136 | 136 | ||
| 137 | @Test | 137 | @Test |
| 138 | public void testGenerics() { | 138 | public void testGenerics() { |
| 139 | 139 | ||
| 140 | // classes | 140 | // classes |
| 141 | assertMapping(newClass("none/i"), newClass("deobf/I_Generics")); | 141 | assertMapping(newClass("none/i"), newClass("deobf/I_Generics")); |
| 142 | assertMapping(newClass("none/i$a"), newClass("deobf/I_Generics$A_Type")); | 142 | assertMapping(newClass("none/i$a"), newClass("deobf/I_Generics$A_Type")); |
| 143 | assertMapping(newClass("none/i$b"), newClass("deobf/I_Generics$B_Generic")); | 143 | assertMapping(newClass("none/i$b"), newClass("deobf/I_Generics$B_Generic")); |
| 144 | 144 | ||
| 145 | // fields | 145 | // fields |
| 146 | assertMapping(newField("none/i", "a", "Ljava/util/List;"), newField("deobf/I_Generics", "f1", "Ljava/util/List;")); | 146 | assertMapping(newField("none/i", "a", "Ljava/util/List;"), newField("deobf/I_Generics", "f1", "Ljava/util/List;")); |
| 147 | assertMapping(newField("none/i", "b", "Ljava/util/List;"), newField("deobf/I_Generics", "f2", "Ljava/util/List;")); | 147 | assertMapping(newField("none/i", "b", "Ljava/util/List;"), newField("deobf/I_Generics", "f2", "Ljava/util/List;")); |
| @@ -149,20 +149,20 @@ public class TestTranslator { | |||
| 149 | assertMapping(newField("none/i$b", "a", "Ljava/lang/Object;"), newField("deobf/I_Generics$B_Generic", "f4", "Ljava/lang/Object;")); | 149 | assertMapping(newField("none/i$b", "a", "Ljava/lang/Object;"), newField("deobf/I_Generics$B_Generic", "f4", "Ljava/lang/Object;")); |
| 150 | assertMapping(newField("none/i", "a", "Lnone/i$b;"), newField("deobf/I_Generics", "f5", "Ldeobf/I_Generics$B_Generic;")); | 150 | assertMapping(newField("none/i", "a", "Lnone/i$b;"), newField("deobf/I_Generics", "f5", "Ldeobf/I_Generics$B_Generic;")); |
| 151 | assertMapping(newField("none/i", "b", "Lnone/i$b;"), newField("deobf/I_Generics", "f6", "Ldeobf/I_Generics$B_Generic;")); | 151 | assertMapping(newField("none/i", "b", "Lnone/i$b;"), newField("deobf/I_Generics", "f6", "Ldeobf/I_Generics$B_Generic;")); |
| 152 | 152 | ||
| 153 | // methods | 153 | // methods |
| 154 | assertMapping(newMethod("none/i$b", "a", "()Ljava/lang/Object;"), newMethod("deobf/I_Generics$B_Generic", "m1", "()Ljava/lang/Object;")); | 154 | assertMapping(newMethod("none/i$b", "a", "()Ljava/lang/Object;"), newMethod("deobf/I_Generics$B_Generic", "m1", "()Ljava/lang/Object;")); |
| 155 | } | 155 | } |
| 156 | 156 | ||
| 157 | private void assertMapping(Entry obf, Entry deobf) { | 157 | private void assertMapping(Entry obf, Entry deobf) { |
| 158 | //assertThat(m_deobfTranslator.translateEntry(obf), is(deobf)); | 158 | //assertThat(m_deobfTranslator.translateEntry(obf), is(deobf)); |
| 159 | //assertThat(m_obfTranslator.translateEntry(deobf), is(obf)); | 159 | //assertThat(m_obfTranslator.translateEntry(deobf), is(obf)); |
| 160 | 160 | ||
| 161 | //String deobfName = m_deobfTranslator.translate(obf); | 161 | //String deobfName = m_deobfTranslator.translate(obf); |
| 162 | //if (deobfName != null) { | 162 | //if (deobfName != null) { |
| 163 | // assertThat(deobfName, is(deobf.getName())); | 163 | // assertThat(deobfName, is(deobf.getName())); |
| 164 | //} | 164 | //} |
| 165 | 165 | ||
| 166 | //String obfName = m_obfTranslator.translate(deobf); | 166 | //String obfName = m_obfTranslator.translate(deobf); |
| 167 | //if (obfName != null) { | 167 | //if (obfName != null) { |
| 168 | // assertThat(obfName, is(obf.getName())); | 168 | // assertThat(obfName, is(obf.getName())); |