Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 70670 invoked from network); 3 Apr 2002 10:55:04 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 3 Apr 2002 10:55:04 -0000 Received: (qmail 6349 invoked by uid 97); 3 Apr 2002 10:55:11 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 6333 invoked by uid 97); 3 Apr 2002 10:55:11 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 6322 invoked by uid 97); 3 Apr 2002 10:55:09 -0000 Date: 3 Apr 2002 10:54:54 -0000 Message-ID: <20020403105454.56579.qmail@icarus.apache.org> From: bodewig@apache.org To: jakarta-ant-cvs@apache.org Subject: cvs commit: jakarta-ant/src/testcases/org/apache/tools/ant/types DirSetTest.java FileSetTest.java PathTest.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N bodewig 02/04/03 02:54:54 Modified: src/main/org/apache/tools/ant/types DirSet.java FileSet.java src/testcases/org/apache/tools/ant/types FileSetTest.java PathTest.java Added: src/testcases/org/apache/tools/ant/types DirSetTest.java Log: Add tests fro DirSet and the new DirSet/FileList support in Path. Step one of planned DirSet refactoring. Revision Changes Path 1.2 +1 -1 jakarta-ant/src/main/org/apache/tools/ant/types/DirSet.java Index: DirSet.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/types/DirSet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DirSet.java 30 Mar 2002 01:03:40 -0000 1.1 +++ DirSet.java 3 Apr 2002 10:54:54 -0000 1.2 @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * Copyright (c) 2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without 1.24 +1 -3 jakarta-ant/src/main/org/apache/tools/ant/types/FileSet.java Index: FileSet.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/types/FileSet.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- FileSet.java 26 Mar 2002 21:18:34 -0000 1.23 +++ FileSet.java 3 Apr 2002 10:54:54 -0000 1.24 @@ -95,8 +95,6 @@ this.isCaseSensitive = fileset.isCaseSensitive; setProject(getProject()); } - - /** * Makes this instance in effect a reference to another PatternSet @@ -302,7 +300,7 @@ ds.setIncludes(defaultPatterns.getIncludePatterns(p)); ds.setExcludes(defaultPatterns.getExcludePatterns(p)); if (useDefaultExcludes) { - ds.addDefaultExcludes(); + ds.addDefaultExcludes(); } ds.setCaseSensitive(isCaseSensitive); } 1.6 +2 -2 jakarta-ant/src/testcases/org/apache/tools/ant/types/FileSetTest.java Index: FileSetTest.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/testcases/org/apache/tools/ant/types/FileSetTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- FileSetTest.java 10 Jan 2002 10:13:13 -0000 1.5 +++ FileSetTest.java 3 Apr 2002 10:54:54 -0000 1.6 @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2000-2001 The Apache Software Foundation. All rights + * Copyright (c) 2000-2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -244,6 +244,6 @@ project.addReference("dummy3", f3); f3.setDir(project.resolveFile(".")); File dir = f1.getDir(project); - assertEquals("Die is basedir", dir, project.getBaseDir()); + assertEquals("Dir is basedir", dir, project.getBaseDir()); } } 1.15 +54 -1 jakarta-ant/src/testcases/org/apache/tools/ant/types/PathTest.java Index: PathTest.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/testcases/org/apache/tools/ant/types/PathTest.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- PathTest.java 8 Mar 2002 08:20:15 -0000 1.14 +++ PathTest.java 3 Apr 2002 10:54:54 -0000 1.15 @@ -56,6 +56,7 @@ import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; +import org.apache.tools.ant.taskdefs.condition.Os; import junit.framework.TestCase; import junit.framework.AssertionFailedError; @@ -73,7 +74,7 @@ public class PathTest extends TestCase { public static boolean isUnixStyle = File.pathSeparatorChar == ':'; - public static boolean isNetWare = (System.getProperty("os.name").toLowerCase(Locale.US).indexOf("netware") > -1); + public static boolean isNetWare = Os.isFamily("netware"); private Project project; @@ -430,6 +431,22 @@ assertEquals("You must not specify nested elements when using refid", be.getMessage()); } + + try { + p.addFilelist(new FileList()); + fail("Can add nested FileList in Path that is a reference."); + } catch (BuildException be) { + assertEquals("You must not specify nested elements when using refid", + be.getMessage()); + } + + try { + p.addDirset(new DirSet()); + fail("Can add nested Dirset in Path that is a reference."); + } catch (BuildException be) { + assertEquals("You must not specify nested elements when using refid", + be.getMessage()); + } } public void testCircularReferenceCheck() { @@ -478,6 +495,42 @@ } else { assertEquals(":\\a", l[0].substring(1)); } + } + + public void testFileList() { + Path p = new Path(project); + FileList f = new FileList(); + f.setProject(project); + f.setDir(project.resolveFile(".")); + f.setFiles("build.xml"); + p.addFilelist(f); + String[] l = p.list(); + assertEquals(1, l.length); + assertEquals(project.resolveFile("build.xml").getAbsolutePath(), l[0]); + } + + public void testFileSet() { + Path p = new Path(project); + FileSet f = new FileSet(); + f.setProject(project); + f.setDir(project.resolveFile(".")); + f.setIncludes("build.xml"); + p.addFileset(f); + String[] l = p.list(); + assertEquals(1, l.length); + assertEquals(project.resolveFile("build.xml").getAbsolutePath(), l[0]); + } + + public void testDirSet() { + Path p = new Path(project); + DirSet d = new DirSet(); + d.setProject(project); + d.setDir(project.resolveFile(".")); + d.setIncludes("build"); + p.addDirset(d); + String[] l = p.list(); + assertEquals(1, l.length); + assertEquals(project.resolveFile("build").getAbsolutePath(), l[0]); } } 1.1 jakarta-ant/src/testcases/org/apache/tools/ant/types/DirSetTest.java Index: DirSetTest.java =================================================================== /* * The Apache Software License, Version 1.1 * * Copyright (c) 2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, if * any, must include the following acknowlegement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowlegement may appear in the software itself, * if and wherever such third-party acknowlegements normally appear. * * 4. The names "The Jakarta Project", "Ant", and "Apache Software * Foundation" must not be used to endorse or promote products derived * from this software without prior written permission. For written * permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache" * nor may "Apache" appear in their names without prior written * permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * . */ package org.apache.tools.ant.types; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import junit.framework.TestCase; import junit.framework.AssertionFailedError; import java.io.File; /** * JUnit 3 testcases for org.apache.tools.ant.types.DirSet. * *

This doesn't actually test much, mainly reference handling. * * @author Stefan Bodewig */ public class DirSetTest extends TestCase { private Project project; public DirSetTest(String name) { super(name); } public void setUp() { project = new Project(); project.setBasedir("."); } public void testEmptyElementIfIsReference() { DirSet f = new DirSet(); f.setIncludes("**/*.java"); try { f.setRefid(new Reference("dummyref")); fail("Can add reference to DirSet with elements from setIncludes"); } catch (BuildException be) { assertEquals("You must not specify more than one attribute when using refid", be.getMessage()); } f = new DirSet(); f.createPatternSet(); try { f.setRefid(new Reference("dummyref")); fail("Can add reference to DirSet with nested patternset element."); } catch (BuildException be) { assertEquals("You must not specify nested elements when using refid", be.getMessage()); } f = new DirSet(); f.createInclude(); try { f.setRefid(new Reference("dummyref")); fail("Can add reference to DirSet with nested include element."); } catch (BuildException be) { assertEquals("You must not specify more than one attribute when using refid", be.getMessage()); } f = new DirSet(); f.setRefid(new Reference("dummyref")); try { f.setIncludes("**/*.java"); fail("Can set includes in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify more than one attribute when using refid", be.getMessage()); } try { f.setIncludesfile(new File("/a")); fail("Can set includesfile in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify more than one attribute when using refid", be.getMessage()); } try { f.setExcludes("**/*.java"); fail("Can set excludes in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify more than one attribute when using refid", be.getMessage()); } try { f.setExcludesfile(new File("/a")); fail("Can set excludesfile in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify more than one attribute when using refid", be.getMessage()); } try { f.setDir(project.resolveFile(".")); fail("Can set dir in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify more than one attribute when using refid", be.getMessage()); } try { f.createInclude(); fail("Can add nested include in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify nested elements when using refid", be.getMessage()); } try { f.createExclude(); fail("Can add nested exclude in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify nested elements when using refid", be.getMessage()); } try { f.createIncludesFile(); fail("Can add nested includesfile in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify nested elements when using refid", be.getMessage()); } try { f.createExcludesFile(); fail("Can add nested excludesfile in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify nested elements when using refid", be.getMessage()); } try { f.createPatternSet(); fail("Can add nested patternset in DirSet that is a reference."); } catch (BuildException be) { assertEquals("You must not specify nested elements when using refid", be.getMessage()); } } public void testCircularReferenceCheck() { DirSet f = new DirSet(); project.addReference("dummy", f); f.setRefid(new Reference("dummy")); try { f.getDir(project); fail("Can make DirSet a Reference to itself."); } catch (BuildException be) { assertEquals("This data type contains a circular reference.", be.getMessage()); } try { f.getDirectoryScanner(project); fail("Can make DirSet a Reference to itself."); } catch (BuildException be) { assertEquals("This data type contains a circular reference.", be.getMessage()); } // dummy1 --> dummy2 --> dummy3 --> dummy1 DirSet f1 = new DirSet(); project.addReference("dummy1", f1); f1.setRefid(new Reference("dummy2")); DirSet f2 = new DirSet(); project.addReference("dummy2", f2); f2.setRefid(new Reference("dummy3")); DirSet f3 = new DirSet(); project.addReference("dummy3", f3); f3.setRefid(new Reference("dummy1")); try { f1.getDir(project); fail("Can make circular reference."); } catch (BuildException be) { assertEquals("This data type contains a circular reference.", be.getMessage()); } try { f1.getDirectoryScanner(project); fail("Can make circular reference."); } catch (BuildException be) { assertEquals("This data type contains a circular reference.", be.getMessage()); } // dummy1 --> dummy2 --> dummy3 // (which has the Project's basedir as root). f1 = new DirSet(); project.addReference("dummy1", f1); f1.setRefid(new Reference("dummy2")); f2 = new DirSet(); project.addReference("dummy2", f2); f2.setRefid(new Reference("dummy3")); f3 = new DirSet(); project.addReference("dummy3", f3); f3.setDir(project.resolveFile(".")); File dir = f1.getDir(project); assertEquals("Dir is basedir", dir, project.getBaseDir()); } } -- To unsubscribe, e-mail: For additional commands, e-mail: