diff --git a/querydsl-apt/src/test/java/com/querydsl/apt/AbstractProcessorTest.java b/querydsl-apt/src/test/java/com/querydsl/apt/AbstractProcessorTest.java index 8a8b921ff..8d9bc00a5 100644 --- a/querydsl-apt/src/test/java/com/querydsl/apt/AbstractProcessorTest.java +++ b/querydsl-apt/src/test/java/com/querydsl/apt/AbstractProcessorTest.java @@ -66,8 +66,8 @@ public abstract class AbstractProcessorTest { options.addAll(getAPTOptions()); options.addAll(classes); - ByteArrayOutputStream out = new ByteArrayOutputStream(); - ByteArrayOutputStream err = new ByteArrayOutputStream(); + ByteArrayOutputStream out = getStdOut(); + ByteArrayOutputStream err = getStdErr(); int compilationResult = compiler.run(null, out, err, options.toArray(new String[options.size()])); // Processor.elementCache.clear(); @@ -77,6 +77,14 @@ public abstract class AbstractProcessorTest { } } + protected ByteArrayOutputStream getStdOut() { + return new ByteArrayOutputStream(); + } + + protected ByteArrayOutputStream getStdErr() { + return new ByteArrayOutputStream(); + } + protected Collection getAPTOptions() { return Collections.emptyList(); } diff --git a/querydsl-apt/src/test/java/com/querydsl/apt/NoteTest.java b/querydsl-apt/src/test/java/com/querydsl/apt/NoteTest.java new file mode 100644 index 000000000..55bcd0ae9 --- /dev/null +++ b/querydsl-apt/src/test/java/com/querydsl/apt/NoteTest.java @@ -0,0 +1,63 @@ +package com.querydsl.apt; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import org.junit.Test; + +public class NoteTest extends AbstractProcessorTest { + + private Collection aptOptions; + + private ByteArrayOutputStream err = new ByteArrayOutputStream(); + + private static final String packagePath = "src/test/java/com/querydsl/apt/"; + + public void process() throws IOException { + List classes = getFiles(packagePath); + process(QuerydslAnnotationProcessor.class, classes, "includedClasses"); + } + + @Override + protected Collection getAPTOptions() { + return aptOptions; + } + + @Override + protected ByteArrayOutputStream getStdErr() { + return err; + } + + protected boolean isStdErrEmpty() { + return getStdErr().toByteArray().length == 0; + } + + @Test + public void processDefault() throws IOException { + aptOptions = Collections.emptyList(); + process(); + assertTrue(isStdErrEmpty()); + } + + @Test + public void processEnabled() throws IOException { + aptOptions = Arrays.asList("-Aquerydsl.logInfo=true"); + process(); + assertFalse(isStdErrEmpty()); + } + + @Test + public void processDisabled() throws IOException { + aptOptions = Arrays.asList("-Aquerydsl.logInfo=false"); + process(); + assertTrue(isStdErrEmpty()); + } + +}