From 9809078524bd3bd40fbf7aa411f6e0dca02fd009 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 25 Feb 2015 22:42:34 -0500 Subject: 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 --- test/cuchaz/enigma/TestDeobfed.java | 79 +++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 test/cuchaz/enigma/TestDeobfed.java (limited to 'test/cuchaz/enigma/TestDeobfed.java') diff --git a/test/cuchaz/enigma/TestDeobfed.java b/test/cuchaz/enigma/TestDeobfed.java new file mode 100644 index 0000000..3c2ae51 --- /dev/null +++ b/test/cuchaz/enigma/TestDeobfed.java @@ -0,0 +1,79 @@ +package cuchaz.enigma; + + +import static cuchaz.enigma.TestEntryFactory.*; +import static org.hamcrest.MatcherAssert.*; +import static org.hamcrest.Matchers.*; + +import java.util.jar.JarFile; + +import org.junit.BeforeClass; +import org.junit.Test; + +import cuchaz.enigma.analysis.JarIndex; + + +public class TestDeobfed { + + private static JarFile m_jar; + private static JarIndex m_index; + + @BeforeClass + public static void beforeClass() + throws Exception { + m_jar = new JarFile("build/testTranslation.deobf.jar"); + m_index = new JarIndex(); + m_index.indexJar(m_jar, true); + } + + @Test + public void obfEntries() { + assertThat(m_index.getObfClassEntries(), containsInAnyOrder( + newClass("cuchaz/enigma/inputs/Keep"), + newClass("none/a"), + newClass("none/b"), + newClass("none/c"), + newClass("none/d"), + newClass("none/d$e"), + newClass("none/f"), + newClass("none/g"), + newClass("none/h"), + newClass("none/h$i"), + newClass("none/h$i$j"), + newClass("none/h$k"), + newClass("none/h$k$l"), + newClass("none/m"), + newClass("none/m$n"), + newClass("none/m$n$o"), + newClass("none/m$p"), + newClass("none/m$p$q"), + newClass("none/m$p$q$r"), + newClass("none/m$p$q$s") + )); + } + + @Test + public void decompile() + throws Exception { + Deobfuscator deobfuscator = new Deobfuscator(m_jar); + deobfuscator.getSourceTree("none/a"); + deobfuscator.getSourceTree("none/b"); + deobfuscator.getSourceTree("none/c"); + deobfuscator.getSourceTree("none/d"); + deobfuscator.getSourceTree("none/d$e"); + deobfuscator.getSourceTree("none/f"); + deobfuscator.getSourceTree("none/g"); + deobfuscator.getSourceTree("none/h"); + deobfuscator.getSourceTree("none/h$i"); + deobfuscator.getSourceTree("none/h$i$j"); + deobfuscator.getSourceTree("none/h$k"); + deobfuscator.getSourceTree("none/h$k$l"); + deobfuscator.getSourceTree("none/m"); + deobfuscator.getSourceTree("none/m$n"); + deobfuscator.getSourceTree("none/m$n$o"); + deobfuscator.getSourceTree("none/m$p"); + deobfuscator.getSourceTree("none/m$p$q"); + deobfuscator.getSourceTree("none/m$p$q$r"); + deobfuscator.getSourceTree("none/m$p$q$s"); + } +} -- cgit v1.2.3