Nicht mit mehreren Eingabedateien testen
This commit is contained in:
parent
75eaee6644
commit
306af907c5
@ -12,4 +12,8 @@
|
||||
* wird der Parameter nicht übergeben, so wird der Sourceroot auf das Verzeichnis gesetzt, in dem der Compiler ausgeführt wird
|
||||
* dies ist das Verhalten vom javac Compiler
|
||||
|
||||
* generateBytecode - Methode hat neuen Parameter: path
|
||||
* wird hier null übergeben, so wird die class-File in den gleichen Ordner wie die übergebene .jav File geschrieben
|
||||
* wird hier ein Pfad übergeben, so gilt dieser als output root.
|
||||
* Klassen werden in outputRoot/package/name/KlassenName.class geschrieben
|
||||
|
||||
|
@ -766,6 +766,10 @@ public class JavaTXCompiler {
|
||||
return result;
|
||||
}
|
||||
|
||||
public void generateBytecode() throws ClassNotFoundException, IOException, BytecodeGeneratorError {
|
||||
generateBytecode(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param path - can be null, then class file output is in the same directory as the parsed source files
|
||||
*/
|
||||
|
@ -7,6 +7,7 @@ import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class CheckPackageFolder extends TestCase {
|
||||
|
||||
@ -15,6 +16,38 @@ public class CheckPackageFolder extends TestCase {
|
||||
@Test
|
||||
public void testCorrectFolder1File() throws IOException, ClassNotFoundException {
|
||||
JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"packageNameTestWrongPackage.jav"));
|
||||
assertTrue(true); //Es ist erlaubt falsche package Namen zu verwenden. Warnung wäre optional
|
||||
compiler.typeInference();
|
||||
File f = new File(rootDirectory + "TestClass.class");
|
||||
if(f.exists() && !f.isDirectory()) {
|
||||
f.delete();
|
||||
}
|
||||
compiler.generateBytecode();
|
||||
f = new File(rootDirectory + "TestClass.class");
|
||||
assertTrue(f.exists()); //Es ist erlaubt falsche package Namen zu verwenden. Warnung wäre optional
|
||||
}
|
||||
|
||||
/*
|
||||
* Dieser Test wird übersprungen, da der Bytecode-Generator nicht mit zwei Eingabedateien gleichzeitig umgehen kann
|
||||
@Test
|
||||
public void testCorrectFolder2Files() throws IOException, ClassNotFoundException {
|
||||
JavaTXCompiler compiler = new JavaTXCompiler(Arrays.asList(
|
||||
new File(rootDirectory+"subpackage1/Test1.jav"),
|
||||
new File(rootDirectory+"subpackage2/Test2.jav")
|
||||
));
|
||||
compiler.typeInference();
|
||||
File f = new File(rootDirectory + "subpackage1/Test1.class");
|
||||
if(f.exists() && !f.isDirectory()) {
|
||||
f.delete();
|
||||
}
|
||||
File f2 = new File(rootDirectory + "subpackage2/Test2.class");
|
||||
if(f.exists() && !f.isDirectory()) {
|
||||
f.delete();
|
||||
}
|
||||
compiler.generateBytecode();
|
||||
f = new File(rootDirectory + "subpackage1/Test1.class");
|
||||
f2 = new File(rootDirectory + "subpackage2/Test2.class");
|
||||
assertTrue(f.exists());
|
||||
assertTrue(f2.exists());
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
@ -0,0 +1,4 @@
|
||||
package de.test.subpackage1;
|
||||
|
||||
class Test1{
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
package de.test.subpackage2;
|
||||
|
||||
class Test2{
|
||||
}
|
Loading…
Reference in New Issue
Block a user