Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 26855 invoked from network); 21 Nov 2005 00:47:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Nov 2005 00:47:59 -0000 Received: (qmail 58320 invoked by uid 500); 21 Nov 2005 00:47:55 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 58255 invoked by uid 500); 21 Nov 2005 00:47:54 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 58190 invoked by uid 500); 21 Nov 2005 00:47:54 -0000 Received: (qmail 58177 invoked by uid 99); 21 Nov 2005 00:47:54 -0000 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Sun, 20 Nov 2005 16:47:53 -0800 Received: (qmail 26396 invoked by uid 65534); 21 Nov 2005 00:47:33 -0000 Message-ID: <20051121004733.26377.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r345796 - in /jakarta/commons/proper/jelly/trunk/jelly-tags/junit: src/java/org/apache/commons/jelly/tags/junit/ src/test/org/apache/commons/jelly/tags/junit/ xdocs/ Date: Mon, 21 Nov 2005 00:47:32 -0000 To: commons-cvs@jakarta.apache.org From: dion@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: dion Date: Sun Nov 20 16:47:23 2005 New Revision: 345796 URL: http://svn.apache.org/viewcvs?rev=345796&view=rev Log: Add assertFileContains tag Added: jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/AssertFileContainsTag.java Modified: jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/JUnitTagLibrary.java jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/test/org/apache/commons/jelly/tags/junit/suite.jelly jakarta/commons/proper/jelly/trunk/jelly-tags/junit/xdocs/changes.xml Added: jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/AssertFileContainsTag.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/AssertFileContainsTag.java?rev=345796&view=auto ============================================================================== --- jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/AssertFileContainsTag.java (added) +++ jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/AssertFileContainsTag.java Sun Nov 20 16:47:23 2005 @@ -0,0 +1,124 @@ +/* + * Copyright 2002,2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.jelly.tags.junit; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; + +import org.apache.commons.jelly.MissingAttributeException; +import org.apache.commons.jelly.JellyTagException; +import org.apache.commons.jelly.XMLOutput; + +/** + * Checks that a file exists, and if not, then the test will fail. + * + * @author Dion Gillard + * @version $Revision: 344024 $ + */ +public class AssertFileContainsTag extends AssertTagSupport +{ + /** the file to check */ + private File file; + + /** content to match */ + private String match; + + /** + * Do the tag functionality: check the file exists. + * @param output a place to write text output + * @throws JellyTagException if the file doesn't exist. + */ + public void doTag(XMLOutput output) throws JellyTagException + { + if (match == null) + { + throw new MissingAttributeException("match"); + } + String message = getBodyText(); + if (message == null || message.length() == 0) + { + message = "File does not contain '" + match + "'"; + } + + + if (file == null) + { + throw new MissingAttributeException("file"); + } + else + { + if (file.exists() && file.canRead()) + { + try + { + BufferedReader br = new BufferedReader(new FileReader(file)); + String line; + boolean found = false; + while ((line = br.readLine()) != null) + { + if (line.indexOf(match) != -1) + { + found = true; + break; + } + } + br.close(); + if (!found) + { + fail(message); + } + } + catch (IOException fnfe) + { + throw new JellyTagException(fnfe); + } + } + else + { + try + { + throw new JellyTagException("File '" + file.getCanonicalPath() + + "' can't be read."); + } + catch (IOException e) + { + throw new JellyTagException(e); + } + } + } + } + + /** + * The file to be tested. If this file exists, the test will pass. + * @param aFile the file to test. + */ + public void setFile(File aFile) + { + file = aFile; + } + + /** + * The content to be checked for. If this text matches some part + * of the given file, the test will pass. + */ + public void setMatch(String aString) + { + match = aString; + } +} Modified: jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/JUnitTagLibrary.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/JUnitTagLibrary.java?rev=345796&r1=345795&r2=345796&view=diff ============================================================================== --- jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/JUnitTagLibrary.java (original) +++ jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/java/org/apache/commons/jelly/tags/junit/JUnitTagLibrary.java Sun Nov 20 16:47:23 2005 @@ -42,6 +42,7 @@ public JUnitTagLibrary() { registerTag("assert", AssertTag.class); registerTag("assertEquals", AssertEqualsTag.class); + registerTag("assertFileContains", AssertFileContainsTag.class); registerTag("assertFileExists", AssertFileExistsTag.class); registerTag("assertFileNotFound", AssertFileNotFoundTag.class); registerTag("assertThrows", AssertThrowsTag.class); Modified: jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/test/org/apache/commons/jelly/tags/junit/suite.jelly URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/test/org/apache/commons/jelly/tags/junit/suite.jelly?rev=345796&r1=345795&r2=345796&view=diff ============================================================================== --- jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/test/org/apache/commons/jelly/tags/junit/suite.jelly (original) +++ jakarta/commons/proper/jelly/trunk/jelly-tags/junit/src/test/org/apache/commons/jelly/tags/junit/suite.jelly Sun Nov 20 16:47:23 2005 @@ -146,4 +146,16 @@ No exception thrown for file that exists + + + + Couldn't find name in pom + + + Bad contents + + + message=${ex.message} + + Modified: jakarta/commons/proper/jelly/trunk/jelly-tags/junit/xdocs/changes.xml URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/jelly-tags/junit/xdocs/changes.xml?rev=345796&r1=345795&r2=345796&view=diff ============================================================================== --- jakarta/commons/proper/jelly/trunk/jelly-tags/junit/xdocs/changes.xml (original) +++ jakarta/commons/proper/jelly/trunk/jelly-tags/junit/xdocs/changes.xml Sun Nov 20 16:47:23 2005 @@ -25,6 +25,7 @@ + Added assertFileContains tag Added assertFileNotFound tag Added assertFileExists tag --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org