diff options
| author | 2015-02-25 22:42:34 -0500 | |
|---|---|---|
| committer | 2015-02-25 22:42:34 -0500 | |
| commit | 9809078524bd3bd40fbf7aa411f6e0dca02fd009 (patch) | |
| tree | 19f9ee0613231c747e728bc61f8a1b6ffa58e5b7 /test | |
| parent | more work getting inner class trees working in obf'd and deobf'd land (diff) | |
| download | enigma-9809078524bd3bd40fbf7aa411f6e0dca02fd009.tar.gz enigma-9809078524bd3bd40fbf7aa411f6e0dca02fd009.tar.xz enigma-9809078524bd3bd40fbf7aa411f6e0dca02fd009.zip | |
fixed lots of issues with inner class reconstruction, particularly for inner class trees
also fixed lots of issues with reading jars that aren't Minecraft. =P
Diffstat (limited to 'test')
| -rw-r--r-- | test/cuchaz/enigma/TestDeobfed.java | 79 | ||||
| -rw-r--r-- | test/cuchaz/enigma/TestJarIndexDeobfed.java | 52 |
2 files changed, 79 insertions, 52 deletions
diff --git a/test/cuchaz/enigma/TestDeobfed.java b/test/cuchaz/enigma/TestDeobfed.java new file mode 100644 index 00000000..3c2ae51d --- /dev/null +++ b/test/cuchaz/enigma/TestDeobfed.java | |||
| @@ -0,0 +1,79 @@ | |||
| 1 | package cuchaz.enigma; | ||
| 2 | |||
| 3 | |||
| 4 | import static cuchaz.enigma.TestEntryFactory.*; | ||
| 5 | import static org.hamcrest.MatcherAssert.*; | ||
| 6 | import static org.hamcrest.Matchers.*; | ||
| 7 | |||
| 8 | import java.util.jar.JarFile; | ||
| 9 | |||
| 10 | import org.junit.BeforeClass; | ||
| 11 | import org.junit.Test; | ||
| 12 | |||
| 13 | import cuchaz.enigma.analysis.JarIndex; | ||
| 14 | |||
| 15 | |||
| 16 | public class TestDeobfed { | ||
| 17 | |||
| 18 | private static JarFile m_jar; | ||
| 19 | private static JarIndex m_index; | ||
| 20 | |||
| 21 | @BeforeClass | ||
| 22 | public static void beforeClass() | ||
| 23 | throws Exception { | ||
| 24 | m_jar = new JarFile("build/testTranslation.deobf.jar"); | ||
| 25 | m_index = new JarIndex(); | ||
| 26 | m_index.indexJar(m_jar, true); | ||
| 27 | } | ||
| 28 | |||
| 29 | @Test | ||
| 30 | public void obfEntries() { | ||
| 31 | assertThat(m_index.getObfClassEntries(), containsInAnyOrder( | ||
| 32 | newClass("cuchaz/enigma/inputs/Keep"), | ||
| 33 | newClass("none/a"), | ||
| 34 | newClass("none/b"), | ||
| 35 | newClass("none/c"), | ||
| 36 | newClass("none/d"), | ||
| 37 | newClass("none/d$e"), | ||
| 38 | newClass("none/f"), | ||
| 39 | newClass("none/g"), | ||
| 40 | newClass("none/h"), | ||
| 41 | newClass("none/h$i"), | ||
| 42 | newClass("none/h$i$j"), | ||
| 43 | newClass("none/h$k"), | ||
| 44 | newClass("none/h$k$l"), | ||
| 45 | newClass("none/m"), | ||
| 46 | newClass("none/m$n"), | ||
| 47 | newClass("none/m$n$o"), | ||
| 48 | newClass("none/m$p"), | ||
| 49 | newClass("none/m$p$q"), | ||
| 50 | newClass("none/m$p$q$r"), | ||
| 51 | newClass("none/m$p$q$s") | ||
| 52 | )); | ||
| 53 | } | ||
| 54 | |||
| 55 | @Test | ||
| 56 | public void decompile() | ||
| 57 | throws Exception { | ||
| 58 | Deobfuscator deobfuscator = new Deobfuscator(m_jar); | ||
| 59 | deobfuscator.getSourceTree("none/a"); | ||
| 60 | deobfuscator.getSourceTree("none/b"); | ||
| 61 | deobfuscator.getSourceTree("none/c"); | ||
| 62 | deobfuscator.getSourceTree("none/d"); | ||
| 63 | deobfuscator.getSourceTree("none/d$e"); | ||
| 64 | deobfuscator.getSourceTree("none/f"); | ||
| 65 | deobfuscator.getSourceTree("none/g"); | ||
| 66 | deobfuscator.getSourceTree("none/h"); | ||
| 67 | deobfuscator.getSourceTree("none/h$i"); | ||
| 68 | deobfuscator.getSourceTree("none/h$i$j"); | ||
| 69 | deobfuscator.getSourceTree("none/h$k"); | ||
| 70 | deobfuscator.getSourceTree("none/h$k$l"); | ||
| 71 | deobfuscator.getSourceTree("none/m"); | ||
| 72 | deobfuscator.getSourceTree("none/m$n"); | ||
| 73 | deobfuscator.getSourceTree("none/m$n$o"); | ||
| 74 | deobfuscator.getSourceTree("none/m$p"); | ||
| 75 | deobfuscator.getSourceTree("none/m$p$q"); | ||
| 76 | deobfuscator.getSourceTree("none/m$p$q$r"); | ||
| 77 | deobfuscator.getSourceTree("none/m$p$q$s"); | ||
| 78 | } | ||
| 79 | } | ||
diff --git a/test/cuchaz/enigma/TestJarIndexDeobfed.java b/test/cuchaz/enigma/TestJarIndexDeobfed.java deleted file mode 100644 index f776e4f6..00000000 --- a/test/cuchaz/enigma/TestJarIndexDeobfed.java +++ /dev/null | |||
| @@ -1,52 +0,0 @@ | |||
| 1 | package cuchaz.enigma; | ||
| 2 | |||
| 3 | |||
| 4 | import static cuchaz.enigma.TestEntryFactory.*; | ||
| 5 | import static org.hamcrest.MatcherAssert.*; | ||
| 6 | import static org.hamcrest.Matchers.*; | ||
| 7 | |||
| 8 | import java.util.jar.JarFile; | ||
| 9 | |||
| 10 | import org.junit.BeforeClass; | ||
| 11 | import org.junit.Test; | ||
| 12 | |||
| 13 | import cuchaz.enigma.analysis.JarIndex; | ||
| 14 | |||
| 15 | |||
| 16 | public class TestJarIndexDeobfed { | ||
| 17 | |||
| 18 | private static JarIndex m_index; | ||
| 19 | |||
| 20 | @BeforeClass | ||
| 21 | public static void beforeClass() | ||
| 22 | throws Exception { | ||
| 23 | m_index = new JarIndex(); | ||
| 24 | m_index.indexJar(new JarFile("build/testTranslation.deobf.jar"), true); | ||
| 25 | } | ||
| 26 | |||
| 27 | @Test | ||
| 28 | public void obfEntries() { | ||
| 29 | assertThat(m_index.getObfClassEntries(), containsInAnyOrder( | ||
| 30 | newClass("cuchaz/enigma/inputs/Keep"), | ||
| 31 | newClass("none/a"), | ||
| 32 | newClass("none/b"), | ||
| 33 | newClass("none/c"), | ||
| 34 | newClass("none/d"), | ||
| 35 | newClass("none/d$e"), | ||
| 36 | newClass("none/f"), | ||
| 37 | newClass("none/g"), | ||
| 38 | newClass("none/h"), | ||
| 39 | newClass("none/h$i"), | ||
| 40 | newClass("none/h$i$j"), | ||
| 41 | newClass("none/h$k"), | ||
| 42 | newClass("none/h$k$l"), | ||
| 43 | newClass("none/m"), | ||
| 44 | newClass("none/m$n"), | ||
| 45 | newClass("none/m$n$o"), | ||
| 46 | newClass("none/m$p"), | ||
| 47 | newClass("none/m$p$q"), | ||
| 48 | newClass("none/m$p$q$r"), | ||
| 49 | newClass("none/m$p$q$s") | ||
| 50 | )); | ||
| 51 | } | ||
| 52 | } | ||