You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by li...@apache.org on 2012/09/11 09:57:51 UTC

svn commit: r1383278 - /incubator/ooo/trunk/test/testuno/source/testcase/uno/pvt/Conversion.java

Author: liuzhe
Date: Tue Sep 11 07:57:50 2012
New Revision: 1383278

URL: http://svn.apache.org/viewvc?rev=1383278&view=rev
Log:
Use FileProvider runner instead of Parameterized

Modified:
    incubator/ooo/trunk/test/testuno/source/testcase/uno/pvt/Conversion.java

Modified: incubator/ooo/trunk/test/testuno/source/testcase/uno/pvt/Conversion.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testuno/source/testcase/uno/pvt/Conversion.java?rev=1383278&r1=1383277&r2=1383278&view=diff
==============================================================================
--- incubator/ooo/trunk/test/testuno/source/testcase/uno/pvt/Conversion.java (original)
+++ incubator/ooo/trunk/test/testuno/source/testcase/uno/pvt/Conversion.java Tue Sep 11 07:57:50 2012
@@ -21,12 +21,11 @@
 
 package testcase.uno.pvt;
 
+import static org.openoffice.test.common.Testspace.*;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
 
 import org.junit.After;
 import org.junit.AfterClass;
@@ -34,12 +33,11 @@ import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
 import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
 import org.openoffice.test.OpenOffice;
+import org.openoffice.test.common.FileProvider;
+import org.openoffice.test.common.FileProvider.FileFilter;
+import org.openoffice.test.common.FileProvider.FileRepos;
 import org.openoffice.test.common.FileUtil;
 import org.openoffice.test.common.Logger;
 import org.openoffice.test.common.Testspace;
@@ -52,63 +50,29 @@ import com.sun.star.uno.UnoRuntime;
 import com.sun.star.util.XCloseable;
 
 
-@RunWith(Parameterized.class)
+@RunWith(FileProvider.class)
 public class Conversion {
-	@Rule
-    public TestRule timeout = new Timeout(10 * 60000); 
-	
+
 	@Rule
 	public Logger log = Logger.getLogger(this);
 
-	public static File repos = Testspace.getFile("pvt_conversion_data");
+	@FileRepos
+	public static String repos = getDataFile("pvt_conversion").getAbsolutePath();
 
-	public static String[] params = {
-		".*\\.((doc)|(dot)|(odt)|(ott))$", "writer_pdf_Export", "pdf", 
-		".*\\.((xls)|(xlt)|(ods)|(ots))$", "calc_pdf_Export", "pdf", 
-		".*\\.((ppt)|(ppt)|(odp)|(otp))$", "impress_pdf_Export", "pdf", 
-		".*\\.((doc)|(dot)|(docx)|(docm)|(dotx)|(dotm))$", "writer8", "odt", 
-		".*\\.((xls)|(xlt)|(xlsx)|(xltx)|(xlsm)|(xltm))$", "calc8", "ods", 
-		".*\\.((ppt)|(pot)|(pptx)|(pptm)|(potm)|(potx))$", "impress8", "odp", 
-		".*\\.((odt)|(ott))$", "MS Word 97", "doc", 
-		".*\\.((ods)|(ots))$", "MS Excel 97", "xls", 
-		".*\\.((odp)|(otp))$", "MS PowerPoint 97", "ppt", 
-		};
+	@FileFilter
+	public static String filter = "-f .*\\.((doc)|(dot)|(odt)|(ott))$ writer_pdf_Export pdf " 
+			+ "-f .*\\.((xls)|(xlt)|(ods)|(ots))$ calc_pdf_Export pdf "
+			+ "-f .*\\.((ppt)|(ppt)|(odp)|(otp))$ impress_pdf_Export pdf " 
+			+ "-f .*\\.((doc)|(dot)|(docx)|(docm)|(dotx)|(dotm))$ writer8 odt "
+			+ "-f .*\\.((xls)|(xlt)|(xlsx)|(xltx)|(xlsm)|(xltm))$ calc8 ods " 
+			+ "-f .*\\.((ppt)|(pot)|(pptx)|(pptm)|(potm)|(potx))$ impress8 odp "
+			+ "-f .*\\.((odt)|(ott))$ 'MS Word 97' doc " 
+			+ "-f .*\\.((ods)|(ots))$ 'MS Excel 97' xls " 
+			+ "-f .*\\.((odp)|(otp))$ 'MS PowerPoint 97' ppt";
 
 	private static UnoApp app = new UnoApp();
+	
 	private static PrintStream result;
-	@Parameters
-	public static Collection<Object[]> data() {
-		ArrayList<Object[]> list = new ArrayList<Object[]>();
-		collect(repos, list);
-		return list;
-	}
-
-	/**
-	 * @param dir
-	 * @param list
-	 */
-	public static void collect(File dir, ArrayList<Object[]> list) {
-		File[] files = dir.listFiles();
-		if (files == null)
-			return;
-		Arrays.sort(files);
-		for (File file : files) {
-			if (file.isDirectory()) {
-				collect(file, list);
-			} else {
-				String fileName = file.getName().toLowerCase();
-				for (int i = 0; i < params.length;) {
-					String pattern = params[i++];
-					String targetFilterName = params[i++];
-					String targetExtName = params[i++];
-					if (pattern != null && fileName.matches(pattern)) {
-						Object[] data = {file, Testspace.getFile("classtemp/" + file.getName()+ "." + targetExtName), targetFilterName};
-						list.add(data);
-					}
-				}
-			}
-		}
-	}
 	
 	@BeforeClass
 	public static void beforeClass() throws Exception {
@@ -128,30 +92,38 @@ public class Conversion {
 		app.close();
 	}
 	
+	private String sourcePath = null;
+	private String targetFilterName = null;
+	private String targetExtName = null;
+	
 	private File sourceFile = null;
 	private File targetFile = null;
 	private String sourceFileUrl = null;
 	private String targetFileUrl = null;
-	private String targetFilterName = null;
+
 	private String scenario = null;
 	private String sourceFileId = null;
 	private long loadTime = -1;
 	private long saveTime = -1;
 	private long closeTime = -1;
 	
-	public Conversion(File sourceFile, File targetFile, String targetFilterName) {
+	public Conversion(String sourcePath, String targetFilterName, String targetExtName) {
 		super();
-		this.sourceFile = sourceFile;
-		this.targetFile = targetFile;
+		this.sourcePath = sourcePath;
 		this.targetFilterName = targetFilterName;
-		sourceFileUrl = FileUtil.getUrl(this.sourceFile);
-		targetFileUrl = FileUtil.getUrl(this.targetFile);
-		scenario = FileUtil.getFileExtName(sourceFile.getName()).toLowerCase() + " to " + FileUtil.getFileExtName(targetFile.getName()).toLowerCase();
-		sourceFileId = sourceFile.getAbsolutePath().replace(repos.getAbsolutePath(), "").replace("\\", "/");
+		this.targetExtName = targetExtName;
 	}
 	
 	@Before
 	public void before() throws Exception {
+		sourceFile = prepareDataFile(sourcePath);
+		sourceFileUrl = FileUtil.getUrl(this.sourceFile);
+		targetFile = getFile("classtemp/" + sourceFile.getName()+ "." + targetExtName);
+		targetFileUrl = FileUtil.getUrl(this.targetFile);
+		
+		scenario = FileUtil.getFileExtName(sourceFile.getName()).toLowerCase() + " to " + FileUtil.getFileExtName(targetFile.getName()).toLowerCase();
+		sourceFileId = sourceFile.getAbsolutePath().replace(new File(repos).getAbsolutePath(), "").replace("\\", "/");
+		
 		log.info("Start [File: " + sourceFileId + "] [Size: " + (sourceFile.length() / 1024) + "KB] [Scenario: " + scenario + "]");
 		app.start();
 	}
@@ -172,7 +144,7 @@ public class Conversion {
 		return p;
 	}
 	
-	@Test
+	@Test(timeout=10 * 60000)
 	public void testConversion() throws Exception {
 		// convert
 		long start = System.currentTimeMillis();