Move writeTrashFile and deleteFile into JGitTestUtil

Moves RepositoryTestCase.writeThashFile, RepositoryTestCase.deleteFile
and dependencies into JGitTestUtil for further reuse.

Required-by-EGit: If8dfa0251797aca56ddc825619500dc21885ba26
Change-Id: I6fc62c8e6626f907e544b5bbe5d64e864a2c323f
Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
This commit is contained in:
Dariusz Luksza 2012-01-25 01:24:09 +01:00
parent 2fa5bcd6bb
commit b649eaa9a8
3 changed files with 49 additions and 15 deletions

View File

@ -46,10 +46,16 @@
package org.eclipse.jgit.junit;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.lang.reflect.Method;
import java.net.URISyntaxException;
import java.net.URL;
import org.eclipse.jgit.storage.file.FileRepository;
import org.eclipse.jgit.util.FileUtils;
import org.eclipse.jgit.util.RawParseUtils;
import org.junit.Assert;
import org.junit.Test;
@ -127,4 +133,43 @@ public static File getTestResourceFile(final String fileName) {
private static ClassLoader cl() {
return JGitTestUtil.class.getClassLoader();
}
public static File writeTrashFile(final FileRepository db,
final String name, final String data) throws IOException {
File path = new File(db.getWorkTree(), name);
write(path, data);
return path;
}
/**
* Write a string as a UTF-8 file.
*
* @param f
* file to write the string to. Caller is responsible for making
* sure it is in the trash directory or will otherwise be cleaned
* up at the end of the test. If the parent directory does not
* exist, the missing parent directories are automatically
* created.
* @param body
* content to write to the file.
* @throws IOException
* the file could not be written.
*/
public static void write(final File f, final String body)
throws IOException {
FileUtils.mkdirs(f.getParentFile(), true);
Writer w = new OutputStreamWriter(new FileOutputStream(f), "UTF-8");
try {
w.write(body);
} finally {
w.close();
}
}
public static void deleteTrashFile(final FileRepository db,
final String name) throws IOException {
File path = new File(db.getWorkTree(), name);
FileUtils.delete(path);
}
}

View File

@ -49,10 +49,7 @@
import static org.junit.Assert.fail;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@ -435,13 +432,7 @@ protected File write(final String body) throws IOException {
* the file could not be written.
*/
protected void write(final File f, final String body) throws IOException {
FileUtils.mkdirs(f.getParentFile(), true);
Writer w = new OutputStreamWriter(new FileOutputStream(f), "UTF-8");
try {
w.write(body);
} finally {
w.close();
}
JGitTestUtil.write(f, body);
}
/**

View File

@ -62,6 +62,7 @@
import org.eclipse.jgit.dircache.DirCacheBuilder;
import org.eclipse.jgit.dircache.DirCacheCheckout;
import org.eclipse.jgit.dircache.DirCacheEntry;
import org.eclipse.jgit.junit.JGitTestUtil;
import org.eclipse.jgit.junit.LocalDiskRepositoryTestCase;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevWalk;
@ -98,14 +99,11 @@ protected static void copyFile(final File src, final File dst)
protected File writeTrashFile(final String name, final String data)
throws IOException {
File path = new File(db.getWorkTree(), name);
write(path, data);
return path;
return JGitTestUtil.writeTrashFile(db, name, data);
}
protected void deleteTrashFile(final String name) throws IOException {
File path = new File(db.getWorkTree(), name);
FileUtils.delete(path);
JGitTestUtil.deleteTrashFile(db, name);
}
protected static void checkFile(File f, final String checkData)