From 4663836a13bcd71211a227c69a43b332c11d18a4 Mon Sep 17 00:00:00 2001 From: aclement Date: Wed, 16 Jun 2010 18:13:43 +0000 Subject: [PATCH] 310506: optional aspects --- .../newsrc/org/aspectj/testing/FileSpec.java | 55 +++++++++++++++++++ .../aspectj/testing/XMLBasedAjcTestCase.java | 3 + 2 files changed, 58 insertions(+) create mode 100644 testing/newsrc/org/aspectj/testing/FileSpec.java diff --git a/testing/newsrc/org/aspectj/testing/FileSpec.java b/testing/newsrc/org/aspectj/testing/FileSpec.java new file mode 100644 index 000000000..448e5e34e --- /dev/null +++ b/testing/newsrc/org/aspectj/testing/FileSpec.java @@ -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:
+ * <file deletefile="foo.jar"/> 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; + } + +} diff --git a/testing/newsrc/org/aspectj/testing/XMLBasedAjcTestCase.java b/testing/newsrc/org/aspectj/testing/XMLBasedAjcTestCase.java index 627944236..9ebf1935a 100644 --- a/testing/newsrc/org/aspectj/testing/XMLBasedAjcTestCase.java +++ b/testing/newsrc/org/aspectj/testing/XMLBasedAjcTestCase.java @@ -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"); -- 2.39.5