You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by bo...@apache.org on 2011/03/18 18:10:56 UTC
svn commit: r1082974 -
/incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java
Author: bodewig
Date: Fri Mar 18 17:10:56 2011
New Revision: 1082974
URL: http://svn.apache.org/viewvc?rev=1082974&view=rev
Log:
a bunch of template methods that will be used by the tests but are currently unused. RAT-87
Modified:
incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java
Modified: incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java?rev=1082974&r1=1082973&r2=1082974&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenceAppender.java Fri Mar 18 17:10:56 2011
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
+import java.io.Writer;
import java.util.Random;
import junit.framework.TestCase;
@@ -31,6 +32,82 @@ public class TestLicenceAppender extends
/** Used to ensure that temporary files have unq */
private Random random = new Random();
+ private interface FileCreator {
+ void createFile(Writer w) throws IOException;
+ }
+
+ private interface NewFileReader {
+ void readFile(BufferedReader r) throws IOException;
+ }
+
+ private static String qualify(String fileName) {
+ return new File(new File(System.getProperty("java.io.tmpdir")),
+ fileName)
+ .getAbsolutePath();
+ }
+
+ private static void createTestFile(String fileName,
+ FileCreator creator)
+ throws IOException {
+ FileWriter w = null;
+ try {
+ creator.createFile(w = new FileWriter(fileName));
+ } finally {
+ if (w != null) {
+ w.close();
+ }
+ }
+ }
+
+ private static void commonTestTemplate(String relativeName,
+ FileCreator creator,
+ NewFileReader reader)
+ throws IOException {
+ String name = qualify(relativeName);
+ try {
+ createTestFile(name, creator);
+
+ ApacheV2LicenceAppender appender =
+ new ApacheV2LicenceAppender();
+ appender.append(new File(name));
+
+ BufferedReader r = null;
+ try {
+ r = new BufferedReader(new FileReader(name + ".new"));
+ reader.readFile(r);
+ } finally {
+ if (r != null) {
+ r.close();
+ }
+ }
+ } finally {
+ File f = new File(name);
+ if (f.exists() && !f.delete()) {
+ f.deleteOnExit();
+ }
+ f = new File(name + ".new");
+ if (f.exists() && !f.delete()) {
+ f.deleteOnExit();
+ }
+ }
+ }
+
+ private static NewFileReader checkLines(final String firstLine,
+ final String secondLine) {
+ return new NewFileReader() {
+ public void readFile(BufferedReader r) throws IOException {
+ String line = r.readLine();
+ assertEquals("First line is incorrect",
+ firstLine, line);
+ if (secondLine != null) {
+ line = r.readLine();
+ assertEquals("Second line is incorrect",
+ secondLine, line);
+ }
+ }
+ };
+ }
+
public void testAddLicenceToUnknownFile() throws IOException {
String filename = "tmp" + random.nextLong() + ".unknownType";
File file = new File(System.getProperty("java.io.tmpdir") + File.separator + filename);