mirror of
https://github.com/processing/processing4.git
synced 2026-01-31 12:21:07 +01:00
Merge branch 'master' into static_imports
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("----------------------------");
|
||||
@@ -369,6 +373,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,9 +39,25 @@ 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();
|
||||
PreprocessorResult result = new PdePreprocessor(name, 4, true).write(out, program);
|
||||
|
||||
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);
|
||||
|
||||
if (result.getPreprocessIssues().size() > 0) {
|
||||
throw new PdePreprocessIssueException(result.getPreprocessIssues().get(0));
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
package processing.mode.java.preproc.code;
|
||||
|
||||
import org.antlr.v4.runtime.BufferedTokenStream;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
import org.antlr.v4.runtime.TokenStream;
|
||||
import org.antlr.v4.runtime.TokenStreamRewriter;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
import processing.mode.java.pdex.TextTransform;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
|
||||
public class CodeEditOperationUtilTest {
|
||||
|
||||
private TokenStreamRewriter tokenStreamRewriter;
|
||||
private Token sampleStart;
|
||||
private Token sampleEnd;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
tokenStreamRewriter = Mockito.mock(TokenStreamRewriter.class);
|
||||
|
||||
sampleStart = Mockito.mock(Token.class);
|
||||
Mockito.when(sampleStart.getStartIndex()).thenReturn(5);
|
||||
Mockito.when(sampleStart.getText()).thenReturn("test");
|
||||
|
||||
sampleEnd = Mockito.mock(Token.class);
|
||||
Mockito.when(sampleEnd.getStartIndex()).thenReturn(10);
|
||||
Mockito.when(sampleEnd.getText()).thenReturn("testing");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createDeleteSingle() {
|
||||
TextTransform.Edit edit = CodeEditOperationUtil.createDelete(sampleStart, tokenStreamRewriter);
|
||||
Assert.assertNotNull(edit);
|
||||
Mockito.verify(tokenStreamRewriter).delete(sampleStart);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createDeleteRange() {
|
||||
TextTransform.Edit edit = CodeEditOperationUtil.createDelete(
|
||||
sampleStart,
|
||||
sampleEnd,
|
||||
tokenStreamRewriter
|
||||
);
|
||||
|
||||
Assert.assertNotNull(edit);
|
||||
Mockito.verify(tokenStreamRewriter).delete(sampleStart, sampleEnd);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createInsertAfterLocation() {
|
||||
TextTransform.Edit edit = CodeEditOperationUtil.createInsertAfter(
|
||||
5,
|
||||
"text",
|
||||
tokenStreamRewriter
|
||||
);
|
||||
|
||||
Assert.assertNotNull(edit);
|
||||
Mockito.verify(tokenStreamRewriter).insertAfter(5, "text");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createInsertAfterToken() {
|
||||
TextTransform.Edit edit = CodeEditOperationUtil.createInsertAfter(
|
||||
sampleStart,
|
||||
"text",
|
||||
tokenStreamRewriter
|
||||
);
|
||||
|
||||
Assert.assertNotNull(edit);
|
||||
Mockito.verify(tokenStreamRewriter).insertAfter(sampleStart, "text");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createInsertBeforeToken() {
|
||||
TextTransform.Edit edit = CodeEditOperationUtil.createInsertBefore(
|
||||
sampleStart,
|
||||
"text",
|
||||
tokenStreamRewriter
|
||||
);
|
||||
|
||||
Assert.assertNotNull(edit);
|
||||
Mockito.verify(tokenStreamRewriter).insertBefore(sampleStart, "text");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createInsertBeforeLocation() {
|
||||
TextTransform.Edit edit = CodeEditOperationUtil.createInsertBefore(
|
||||
5,
|
||||
5,
|
||||
"text",
|
||||
tokenStreamRewriter
|
||||
);
|
||||
|
||||
Assert.assertNotNull(edit);
|
||||
Mockito.verify(tokenStreamRewriter).insertBefore(5, "text");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
import processing.mode.java.pdex.TextTransform;
|
||||
import processing.mode.java.preproc.PdeParseTreeListener;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -24,7 +25,7 @@ public class PrintWriterWithEditGenTest {
|
||||
|
||||
@Test
|
||||
public void addEmptyLineBefore() {
|
||||
PrintWriterWithEditGen editGen = createGen(true);
|
||||
PdeParseTreeListener.PrintWriterWithEditGen editGen = createGen(true);
|
||||
editGen.addEmptyLine();
|
||||
editGen.finish();
|
||||
|
||||
@@ -36,7 +37,7 @@ public class PrintWriterWithEditGenTest {
|
||||
|
||||
@Test
|
||||
public void addCodeLineBefore() {
|
||||
PrintWriterWithEditGen editGen = createGen(true);
|
||||
PdeParseTreeListener.PrintWriterWithEditGen editGen = createGen(true);
|
||||
editGen.addCodeLine("test");
|
||||
editGen.finish();
|
||||
|
||||
@@ -48,7 +49,7 @@ public class PrintWriterWithEditGenTest {
|
||||
|
||||
@Test
|
||||
public void addCodeBefore() {
|
||||
PrintWriterWithEditGen editGen = createGen(true);
|
||||
PdeParseTreeListener.PrintWriterWithEditGen editGen = createGen(true);
|
||||
editGen.addCode("test");
|
||||
editGen.finish();
|
||||
|
||||
@@ -60,7 +61,7 @@ public class PrintWriterWithEditGenTest {
|
||||
|
||||
@Test
|
||||
public void addEmptyLineAfter() {
|
||||
PrintWriterWithEditGen editGen = createGen(false);
|
||||
PdeParseTreeListener.PrintWriterWithEditGen editGen = createGen(false);
|
||||
editGen.addEmptyLine();
|
||||
editGen.finish();
|
||||
|
||||
@@ -72,7 +73,7 @@ public class PrintWriterWithEditGenTest {
|
||||
|
||||
@Test
|
||||
public void addCodeLineAfter() {
|
||||
PrintWriterWithEditGen editGen = createGen(false);
|
||||
PdeParseTreeListener.PrintWriterWithEditGen editGen = createGen(false);
|
||||
editGen.addCodeLine("test");
|
||||
editGen.finish();
|
||||
|
||||
@@ -84,7 +85,7 @@ public class PrintWriterWithEditGenTest {
|
||||
|
||||
@Test
|
||||
public void addCodeAfter() {
|
||||
PrintWriterWithEditGen editGen = createGen(false);
|
||||
PdeParseTreeListener.PrintWriterWithEditGen editGen = createGen(false);
|
||||
editGen.addCode("test");
|
||||
editGen.finish();
|
||||
|
||||
@@ -94,8 +95,8 @@ public class PrintWriterWithEditGenTest {
|
||||
Mockito.verify(tokenStreamRewriter).insertAfter(5, "test");
|
||||
}
|
||||
|
||||
private PrintWriterWithEditGen createGen(boolean before) {
|
||||
return new PrintWriterWithEditGen(
|
||||
private PdeParseTreeListener.PrintWriterWithEditGen createGen(boolean before) {
|
||||
return new PdeParseTreeListener.PrintWriterWithEditGen(
|
||||
tokenStreamRewriter,
|
||||
rewriteResultBuilder,
|
||||
5,
|
||||
|
||||
Reference in New Issue
Block a user