mirror of
https://github.com/processing/processing4.git
synced 2026-05-04 18:05:36 +02:00
Add tests and fix for package name override.
This commit is contained in:
@@ -88,8 +88,12 @@ public class ParserTests {
|
||||
}
|
||||
|
||||
static void expectGood(final String id, boolean ignoreWhitespace) {
|
||||
expectGood(id, ignoreWhitespace, Optional.empty());
|
||||
}
|
||||
|
||||
static void expectGood(final String id, boolean ignoreWhitespace, Optional<String> packageName) {
|
||||
try {
|
||||
final String program = preprocess(id, res(id + ".pde"));
|
||||
final String program = preprocess(id, res(id + ".pde"), packageName);
|
||||
boolean successful = compile(id, program);
|
||||
if (successful) {
|
||||
System.err.println("----------------------------");
|
||||
@@ -368,6 +372,11 @@ public class ParserTests {
|
||||
expectGood("typeinference");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPackage() {
|
||||
expectGood("packageTest", true, Optional.of("test.subtest"));
|
||||
}
|
||||
|
||||
private static boolean compile(String id, String program) {
|
||||
// Create compilable AST to get syntax problems
|
||||
CompilationUnit compilableCU = JdtCompilerUtil.makeAST(
|
||||
|
||||
@@ -5,6 +5,8 @@ import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Optional;
|
||||
|
||||
import processing.app.Preferences;
|
||||
import processing.app.SketchException;
|
||||
import processing.mode.java.preproc.PdePreprocessor;
|
||||
@@ -37,13 +39,23 @@ public class ProcessingTestUtil {
|
||||
|
||||
static String preprocess(final String name, final File resource)
|
||||
throws SketchException {
|
||||
return preprocess(name, resource, Optional.empty());
|
||||
}
|
||||
static String preprocess(final String name, final File resource, Optional<String> optionalPackage)
|
||||
throws SketchException {
|
||||
|
||||
final String program = read(resource);
|
||||
final StringWriter out = new StringWriter();
|
||||
|
||||
PdePreprocessor preprocessor = PdePreprocessor.builderFor(name)
|
||||
.setTabSize(4)
|
||||
.setIsTesting(true)
|
||||
.build();
|
||||
|
||||
PdePreprocessor.PdePreprocessorBuilder builder = PdePreprocessor.builderFor(name);
|
||||
builder.setTabSize(4);
|
||||
builder.setIsTesting(true);
|
||||
|
||||
if (optionalPackage.isPresent()) {
|
||||
builder.setDestinationPackage(optionalPackage.get());
|
||||
}
|
||||
|
||||
PdePreprocessor preprocessor = builder.build();
|
||||
|
||||
PreprocessorResult result = preprocessor.write(out, program);
|
||||
|
||||
|
||||
33
java/test/resources/packageTest.expected
Normal file
33
java/test/resources/packageTest.expected
Normal file
@@ -0,0 +1,33 @@
|
||||
package test.subtest;
|
||||
|
||||
import processing.core.*;
|
||||
import processing.data.*;
|
||||
import processing.event.*;
|
||||
import processing.opengl.*;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.ArrayList;
|
||||
import java.io.File;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class packageTest extends PApplet {
|
||||
|
||||
public void setup() {
|
||||
List<String> test = new ArrayList<>();
|
||||
noLoop();
|
||||
}
|
||||
|
||||
static public void main(String[] passedArgs) {
|
||||
String[] appletArgs = new String[] { "packageTest" };
|
||||
if (passedArgs != null) {
|
||||
PApplet.main(concat(appletArgs, passedArgs));
|
||||
} else {
|
||||
PApplet.main(appletArgs);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user