From ce52582f49e618729720a057ae5029d2a1d15da4 Mon Sep 17 00:00:00 2001 From: liach Date: Wed, 4 Sep 2019 11:56:09 -0400 Subject: Add tinyv2 save/load --- .../enigma/mapping/TestTinyV2InnerClasses.java | 41 ++++++++++++++++++++++ .../java/cuchaz/enigma/mapping/TestV2Main.java | 24 +++++++++++++ src/test/resources/tinyV2InnerClasses/c.mapping | 2 ++ .../tinyV2InnerClasses/cuchaz/enigma/Dad.mapping | 5 +++ 4 files changed, 72 insertions(+) create mode 100644 src/test/java/cuchaz/enigma/mapping/TestTinyV2InnerClasses.java create mode 100644 src/test/java/cuchaz/enigma/mapping/TestV2Main.java create mode 100644 src/test/resources/tinyV2InnerClasses/c.mapping create mode 100644 src/test/resources/tinyV2InnerClasses/cuchaz/enigma/Dad.mapping (limited to 'src/test') diff --git a/src/test/java/cuchaz/enigma/mapping/TestTinyV2InnerClasses.java b/src/test/java/cuchaz/enigma/mapping/TestTinyV2InnerClasses.java new file mode 100644 index 0000000..7cfdaca --- /dev/null +++ b/src/test/java/cuchaz/enigma/mapping/TestTinyV2InnerClasses.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2015 Jeff Martin. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser General Public + * License v3.0 which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl.html + * + * Contributors: + * Jeff Martin - initial API and implementation + ******************************************************************************/ + +package cuchaz.enigma.mapping; + +import cuchaz.enigma.Enigma; +import cuchaz.enigma.EnigmaProject; +import cuchaz.enigma.ProgressListener; +import cuchaz.enigma.translation.mapping.serde.EnigmaMappingsReader; +import cuchaz.enigma.translation.representation.entry.ClassEntry; +import org.junit.Test; + +import java.nio.file.Path; +import java.nio.file.Paths; + +import static cuchaz.enigma.TestEntryFactory.newClass; + +public final class TestTinyV2InnerClasses { + private Path jar; + private Path mappings; + + public TestTinyV2InnerClasses() throws Exception { + jar = Paths.get("build/test-obf/innerClasses.jar"); + mappings = Paths.get(TestTinyV2InnerClasses.class.getResource("/tinyV2InnerClasses/").toURI()); + } + +// @Test + public void testMappings() throws Exception { + EnigmaProject project = Enigma.create().openJar(jar, ProgressListener.none()); + project.setMappings(EnigmaMappingsReader.DIRECTORY.read(mappings, ProgressListener.none(), project.getEnigma().getProfile().getMappingSaveParameters())); + + } +} diff --git a/src/test/java/cuchaz/enigma/mapping/TestV2Main.java b/src/test/java/cuchaz/enigma/mapping/TestV2Main.java new file mode 100644 index 0000000..021a90c --- /dev/null +++ b/src/test/java/cuchaz/enigma/mapping/TestV2Main.java @@ -0,0 +1,24 @@ +package cuchaz.enigma.mapping; + +import cuchaz.enigma.ProgressListener; +import cuchaz.enigma.translation.mapping.EntryMapping; +import cuchaz.enigma.translation.mapping.MappingFileNameFormat; +import cuchaz.enigma.translation.mapping.MappingSaveParameters; +import cuchaz.enigma.translation.mapping.serde.EnigmaMappingsReader; +import cuchaz.enigma.translation.mapping.serde.TinyV2Writer; +import cuchaz.enigma.translation.mapping.tree.EntryTree; + +import java.nio.file.Path; +import java.nio.file.Paths; + +public final class TestV2Main { + public static void main(String... args) throws Exception { + Path path = Paths.get(TestV2Main.class.getResource("/tinyV2InnerClasses/").toURI()); + + MappingSaveParameters parameters = new MappingSaveParameters(MappingFileNameFormat.BY_DEOBF); + + EntryTree tree = EnigmaMappingsReader.DIRECTORY.read(path, ProgressListener.none(), parameters); + + new TinyV2Writer("obf", "deobf").write(tree, Paths.get("currentYarn.tiny"), ProgressListener.none(), parameters); + } +} diff --git a/src/test/resources/tinyV2InnerClasses/c.mapping b/src/test/resources/tinyV2InnerClasses/c.mapping new file mode 100644 index 0000000..f9b0442 --- /dev/null +++ b/src/test/resources/tinyV2InnerClasses/c.mapping @@ -0,0 +1,2 @@ +CLASS c + CLASS a Kid diff --git a/src/test/resources/tinyV2InnerClasses/cuchaz/enigma/Dad.mapping b/src/test/resources/tinyV2InnerClasses/cuchaz/enigma/Dad.mapping new file mode 100644 index 0000000..8d43ba9 --- /dev/null +++ b/src/test/resources/tinyV2InnerClasses/cuchaz/enigma/Dad.mapping @@ -0,0 +1,5 @@ +CLASS f cuchaz/enigma/Dad + CLASS a One + CLASS a Two + CLASS a + FIELD a value I -- cgit v1.2.3