public void testCombinedJarHeaderMapping() throws IOException { File outputHeaderMappingFile = new File(tempDir, "mappings.j2objc"); Options.setOutputHeaderMappingFile(outputHeaderMappingFile); Options.setOutputStyle(Options.OutputStyleOption.SOURCE); addSourceFile("package unit; public class Test { }", "unit/Test.java"); addSourceFile( "package unit; public class AnotherTest extends Test { }", "unit/AnotherTest.java"); addSourceFile( "package unit2;" + "import unit.Test;" + "public class AnotherTest extends Test { }", "unit2/AnotherTest.java"); addSourceFile( "package unit2;" + "import unit.AnotherTest;" + "public class YetAnotherTest extends AnotherTest { }", "unit2/YetAnotherTest.java"); translateCombinedFiles("unit/Foo", ".h", "unit/Test.java", "unit/AnotherTest.java"); String header2 = translateCombinedFiles( "unit2/Foo", ".h", "unit2/AnotherTest.java", "unit2/YetAnotherTest.java"); HeaderMap headerMap = Options.getHeaderMap(); assertEquals("unit/Foo.h", headerMap.get("unit.Test")); assertEquals("unit/Foo.h", headerMap.get("unit.AnotherTest")); assertTranslation(header2, "#include \"unit/Foo.h\""); assertEquals("unit2/Foo.h", headerMap.get("unit2.AnotherTest")); assertEquals("unit2/Foo.h", headerMap.get("unit2.YetAnotherTest")); }
public void testOutputHeaderFileMapping() throws IOException { Options.setHeaderMappingFiles(Lists.newArrayList("testMappings.j2objc")); Options.setOutputStyle(Options.OutputStyleOption.SOURCE); addSourceFile("package unit.test; public class Dummy {}", "unit/test/Dummy.java"); addSourceFile( "package unit.test;" + "public class AnotherDummy extends Dummy { " + " public AnotherDummy() {}" + "}", "unit/test/AnotherDummy.java"); preprocessFiles("unit/test/Dummy.java", "unit/test/AnotherDummy.java"); loadHeaderMappings(); String translation = translateSourceFile( getTranslatedFile("unit/test/AnotherDummy.java"), "AnotherDummy", "AnotherDummy.h"); assertTranslation(translation, "#include \"unit/test/Dummy.h\""); HeaderMap headerMap = Options.getHeaderMap(); assertEquals(headerMap.get("unit.test.Dummy"), "unit/test/Dummy.h"); assertEquals(headerMap.get("unit.test.AnotherDummy"), "unit/test/AnotherDummy.h"); assertEquals(headerMap.get("unit.mapping.custom.Test"), "my/mapping/custom/Test.h"); assertEquals(headerMap.get("unit.mapping.custom.AnotherTest"), "my/mapping/custom/Test.h"); }