]> source.dussan.org Git - aspectj.git/commitdiff
310506: optional aspects
authoraclement <aclement>
Wed, 16 Jun 2010 18:13:43 +0000 (18:13 +0000)
committeraclement <aclement>
Wed, 16 Jun 2010 18:13:43 +0000 (18:13 +0000)
testing/newsrc/org/aspectj/testing/FileSpec.java [new file with mode: 0644]
testing/newsrc/org/aspectj/testing/XMLBasedAjcTestCase.java

diff --git a/testing/newsrc/org/aspectj/testing/FileSpec.java b/testing/newsrc/org/aspectj/testing/FileSpec.java
new file mode 100644 (file)
index 0000000..448e5e3
--- /dev/null
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Contributors 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Andy Clement - SpringSource
+ *******************************************************************************/
+package org.aspectj.testing;
+
+import java.io.File;
+
+import org.aspectj.tools.ajc.AjcTestCase;
+
+/**
+ * Support simple file system operations in a test spec. Example:<br>
+ * &lt;file deletefile="foo.jar"/&gt; will delete the file foo.jar from the sandbox.
+ * 
+ * @author Andy Clement
+ */
+public class FileSpec implements ITestStep {
+
+       private String toDelete;
+
+       // private String dir;
+       // private AjcTest test;
+
+       public FileSpec() {
+       }
+
+       public void setDeletefile(String file) {
+               this.toDelete = file;
+       }
+
+       public void addExpectedMessage(ExpectedMessageSpec message) {
+       }
+
+       public void execute(AjcTestCase inTestCase) {
+               File sandbox = inTestCase.getSandboxDirectory();
+               if (toDelete != null) {
+                       new File(sandbox, toDelete).delete();
+               }
+       }
+
+       public void setBaseDir(String dir) {
+               // this.dir = dir;
+       }
+
+       public void setTest(AjcTest test) {
+               // this.test = test;
+       }
+
+}
index 627944236b6c308f947e8e7d8802c1efe1a4003a..9ebf1935ad69d142a39be2626da06c1104637fa8 100644 (file)
@@ -183,6 +183,9 @@ public abstract class XMLBasedAjcTestCase extends AjcTestCase {
                digester.addObjectCreate("suite/ajc-test/compile", CompileSpec.class);
                digester.addSetProperties("suite/ajc-test/compile");
                digester.addSetNext("suite/ajc-test/compile", "addTestStep", "org.aspectj.testing.ITestStep");
+               digester.addObjectCreate("suite/ajc-test/file", FileSpec.class);
+               digester.addSetProperties("suite/ajc-test/file");
+               digester.addSetNext("suite/ajc-test/file", "addTestStep", "org.aspectj.testing.ITestStep");
                digester.addObjectCreate("suite/ajc-test/run", RunSpec.class);
                digester.addSetProperties("suite/ajc-test/run", "class", "classToRun");
                digester.addSetProperties("suite/ajc-test/run", "ltw", "ltwFile");