summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGravatar jeff2015-02-25 22:42:34 -0500
committerGravatar jeff2015-02-25 22:42:34 -0500
commit9809078524bd3bd40fbf7aa411f6e0dca02fd009 (patch)
tree19f9ee0613231c747e728bc61f8a1b6ffa58e5b7 /test
parentmore work getting inner class trees working in obf'd and deobf'd land (diff)
downloadenigma-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.java79
-rw-r--r--test/cuchaz/enigma/TestJarIndexDeobfed.java52
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 @@
1package cuchaz.enigma;
2
3
4import static cuchaz.enigma.TestEntryFactory.*;
5import static org.hamcrest.MatcherAssert.*;
6import static org.hamcrest.Matchers.*;
7
8import java.util.jar.JarFile;
9
10import org.junit.BeforeClass;
11import org.junit.Test;
12
13import cuchaz.enigma.analysis.JarIndex;
14
15
16public 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 @@
1package cuchaz.enigma;
2
3
4import static cuchaz.enigma.TestEntryFactory.*;
5import static org.hamcrest.MatcherAssert.*;
6import static org.hamcrest.Matchers.*;
7
8import java.util.jar.JarFile;
9
10import org.junit.BeforeClass;
11import org.junit.Test;
12
13import cuchaz.enigma.analysis.JarIndex;
14
15
16public 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}