summaryrefslogtreecommitdiff
path: root/src/test/java/cuchaz/enigma/TestDeobfed.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/cuchaz/enigma/TestDeobfed.java')
-rw-r--r--src/test/java/cuchaz/enigma/TestDeobfed.java95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/test/java/cuchaz/enigma/TestDeobfed.java b/src/test/java/cuchaz/enigma/TestDeobfed.java
new file mode 100644
index 0000000..5f3ef8c
--- /dev/null
+++ b/src/test/java/cuchaz/enigma/TestDeobfed.java
@@ -0,0 +1,95 @@
1/*******************************************************************************
2 * Copyright (c) 2015 Jeff Martin.
3 * All rights reserved. This program and the accompanying materials
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
6 * http://www.gnu.org/licenses/lgpl.html
7 *
8 * Contributors:
9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/
11package cuchaz.enigma;
12
13
14import static cuchaz.enigma.TestEntryFactory.*;
15import static org.hamcrest.MatcherAssert.*;
16import static org.hamcrest.Matchers.*;
17
18import java.util.jar.JarFile;
19
20import org.junit.BeforeClass;
21import org.junit.Test;
22
23import cuchaz.enigma.analysis.JarIndex;
24
25
26public class TestDeobfed {
27
28 private static JarFile m_jar;
29 private static JarIndex m_index;
30
31 @BeforeClass
32 public static void beforeClass()
33 throws Exception {
34 m_jar = new JarFile("build/test-deobf/translation.jar");
35 m_index = new JarIndex();
36 m_index.indexJar(m_jar, true);
37 }
38
39 @Test
40 public void obfEntries() {
41 assertThat(m_index.getObfClassEntries(), containsInAnyOrder(
42 newClass("cuchaz/enigma/inputs/Keep"),
43 newClass("none/a"),
44 newClass("none/b"),
45 newClass("none/c"),
46 newClass("none/d"),
47 newClass("none/d$1"),
48 newClass("none/e"),
49 newClass("none/f"),
50 newClass("none/g"),
51 newClass("none/g$a"),
52 newClass("none/g$a$a"),
53 newClass("none/g$b"),
54 newClass("none/g$b$a"),
55 newClass("none/h"),
56 newClass("none/h$a"),
57 newClass("none/h$a$a"),
58 newClass("none/h$b"),
59 newClass("none/h$b$a"),
60 newClass("none/h$b$a$a"),
61 newClass("none/h$b$a$b"),
62 newClass("none/i"),
63 newClass("none/i$a"),
64 newClass("none/i$b")
65 ));
66 }
67
68 @Test
69 public void decompile()
70 throws Exception {
71 Deobfuscator deobfuscator = new Deobfuscator(m_jar);
72 deobfuscator.getSourceTree("none/a");
73 deobfuscator.getSourceTree("none/b");
74 deobfuscator.getSourceTree("none/c");
75 deobfuscator.getSourceTree("none/d");
76 deobfuscator.getSourceTree("none/d$1");
77 deobfuscator.getSourceTree("none/e");
78 deobfuscator.getSourceTree("none/f");
79 deobfuscator.getSourceTree("none/g");
80 deobfuscator.getSourceTree("none/g$a");
81 deobfuscator.getSourceTree("none/g$a$a");
82 deobfuscator.getSourceTree("none/g$b");
83 deobfuscator.getSourceTree("none/g$b$a");
84 deobfuscator.getSourceTree("none/h");
85 deobfuscator.getSourceTree("none/h$a");
86 deobfuscator.getSourceTree("none/h$a$a");
87 deobfuscator.getSourceTree("none/h$b");
88 deobfuscator.getSourceTree("none/h$b$a");
89 deobfuscator.getSourceTree("none/h$b$a$a");
90 deobfuscator.getSourceTree("none/h$b$a$b");
91 deobfuscator.getSourceTree("none/i");
92 deobfuscator.getSourceTree("none/i$a");
93 deobfuscator.getSourceTree("none/i$b");
94 }
95}