From cb22a55b241714a56f78b9c6ee863f0a37bbf005 Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 5 Feb 2015 23:53:41 -0500 Subject: start some translation tests --- test/cuchaz/enigma/TestTranslator.java | 39 +++++++++++++++++++++++ test/cuchaz/enigma/inputs/translation/A.java | 8 +++++ test/cuchaz/enigma/resources/translation.mappings | 4 +++ 3 files changed, 51 insertions(+) create mode 100644 test/cuchaz/enigma/TestTranslator.java create mode 100644 test/cuchaz/enigma/inputs/translation/A.java create mode 100644 test/cuchaz/enigma/resources/translation.mappings (limited to 'test') diff --git a/test/cuchaz/enigma/TestTranslator.java b/test/cuchaz/enigma/TestTranslator.java new file mode 100644 index 0000000..290f6f0 --- /dev/null +++ b/test/cuchaz/enigma/TestTranslator.java @@ -0,0 +1,39 @@ +package cuchaz.enigma; + +import static cuchaz.enigma.EntryFactory.*; +import static org.hamcrest.MatcherAssert.*; +import static org.hamcrest.Matchers.*; + +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.jar.JarFile; + +import org.junit.Test; + +import cuchaz.enigma.mapping.Mappings; +import cuchaz.enigma.mapping.MappingsReader; +import cuchaz.enigma.mapping.TranslationDirection; +import cuchaz.enigma.mapping.Translator; + + +public class TestTranslator { + + private Deobfuscator m_deobfuscator; + private Mappings m_mappings; + + public TestTranslator() + throws Exception { + m_deobfuscator = new Deobfuscator(new JarFile("build/testTranslation.obf.jar")); + try (InputStream in = getClass().getResourceAsStream("/cuchaz/enigma/resources/translation.mappings")) { + m_mappings = new MappingsReader().read(new InputStreamReader(in)); + m_deobfuscator.setMappings(m_mappings); + } + } + + @Test + public void deobfuscatingTranslations() + throws Exception { + Translator translator = m_deobfuscator.getTranslator(TranslationDirection.Deobfuscating); + assertThat(translator.translateEntry(newClass("none/a")), is(newClass("deobf/A"))); + } +} diff --git a/test/cuchaz/enigma/inputs/translation/A.java b/test/cuchaz/enigma/inputs/translation/A.java new file mode 100644 index 0000000..b8aaf11 --- /dev/null +++ b/test/cuchaz/enigma/inputs/translation/A.java @@ -0,0 +1,8 @@ +package cuchaz.enigma.inputs.translation; + +public class A { + + public int one; + public float two; + public String three; +} diff --git a/test/cuchaz/enigma/resources/translation.mappings b/test/cuchaz/enigma/resources/translation.mappings new file mode 100644 index 0000000..70755bf --- /dev/null +++ b/test/cuchaz/enigma/resources/translation.mappings @@ -0,0 +1,4 @@ +CLASS none/a deobf/A + FIELD a one + FIELD b two + FIELD c three \ No newline at end of file -- cgit v1.2.3