conor       2003/01/15 06:10:59

  Modified:    src/testcases/org/apache/tools/ant BuildFileTest.java
  Added:       src/etc/testcases/taskdefs/import import.xml imported.xml
                        unnamed1.xml unnamed2.xml unnamedImport.xml
               src/testcases/org/apache/tools/ant/taskdefs ImportTest.java
  Removed:     src/etc/testcases/taskdefs import.xml imported.xml
  Log:
  Initial tests for Import including a test to highlight issue importing
  unnamed projects
  
  Revision  Changes    Path
  1.1                  jakarta-ant/src/etc/testcases/taskdefs/import/import.xml
  
  Index: import.xml
  ===================================================================
  <project name="import-test" default="main" basedir=".">
    <echo>Before import</echo>        
  
    <import file="imported.xml"/>
  
    <echo message="After import"/>
    
    <target name="import-init">
       <echo message="In import-init" />
    </target>
  
    <target name="main" depends="imported">
      <echo message="In main"/>
    </target>
  
  
  </project>
  
  
  
  1.1                  
jakarta-ant/src/etc/testcases/taskdefs/import/imported.xml
  
  Index: imported.xml
  ===================================================================
  <project name="imported-test" default="imported" basedir=".">
  
    <echo message="In imported top"/>
   
    <target name="imported" depends="import-init" >
      <echo message="In imported target" />
    </target>
  
  </project>
  
  
  
  1.1                  
jakarta-ant/src/etc/testcases/taskdefs/import/unnamed1.xml
  
  Index: unnamed1.xml
  ===================================================================
  <project default="test">
    <import file="unnamed2.xml"/>
  
    <echo message="Unnamed1.xml" level="info"/>
  </project>
  
  
  1.1                  
jakarta-ant/src/etc/testcases/taskdefs/import/unnamed2.xml
  
  Index: unnamed2.xml
  ===================================================================
  <project default="test">
    <echo message="Unnamed2.xml" level="info"/>
  </project>
  
  
  1.1                  
jakarta-ant/src/etc/testcases/taskdefs/import/unnamedImport.xml
  
  Index: unnamedImport.xml
  ===================================================================
  <project name="unnamed-import" default="test">
  
    <import file="unnamed1.xml"/>
  
    <target name="test">
      <echo level="info">Tests import of unnamed projects</echo>
    </target>
  </project>
  
  
  1.19      +26 -1     
jakarta-ant/src/testcases/org/apache/tools/ant/BuildFileTest.java
  
  Index: BuildFileTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/testcases/org/apache/tools/ant/BuildFileTest.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -w -u -r1.18 -r1.19
  --- BuildFileTest.java        6 Jan 2003 14:16:13 -0000       1.18
  +++ BuildFileTest.java        15 Jan 2003 14:10:59 -0000      1.19
  @@ -222,12 +222,22 @@
        * @param  filename name of project file to run
        */
       protected void configureProject(String filename) throws BuildException {
  +        configureProject(filename, Project.MSG_DEBUG);
  +    }
  +
  +    /**
  +     *  set up to run the named project
  +     *
  +     * @param  filename name of project file to run
  +     */
  +    protected void configureProject(String filename, int logLevel)
  +        throws BuildException {
           logBuffer = new StringBuffer();
           fullLogBuffer = new StringBuffer();
           project = new Project();
           project.init();
           project.setUserProperty( "ant.file" , new 
File(filename).getAbsolutePath() );
  -        project.addBuildListener(new AntTestListener());
  +        project.addBuildListener(new AntTestListener(logLevel));
           ProjectHelper.configureProject(project, new File(filename));
       }
   
  @@ -407,6 +417,16 @@
        * our own personal build listener
        */
       private class AntTestListener implements BuildListener {
  +        private int logLevel;
  +
  +        /**
  +         * Constructs a test listener which will ignore log events
  +         * above the given level
  +         */
  +        public AntTestListener(int logLevel) {
  +            this.logLevel = logLevel;
  +        }
  +
           /**
            *  Fired before any targets are started.
            */
  @@ -467,6 +487,11 @@
            *  @see BuildEvent#getPriority()
            */
           public void messageLogged(BuildEvent event) {
  +            if (event.getPriority() > logLevel) {
  +                // ignore event
  +                return;
  +            }
  +
               if (event.getPriority() == Project.MSG_INFO ||
                   event.getPriority() == Project.MSG_WARN ||
                   event.getPriority() == Project.MSG_ERR) {
  
  
  
  1.1                  
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/ImportTest.java
  
  Index: ImportTest.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 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 [EMAIL PROTECTED]
   *
   * 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
   * <http://www.apache.org/>.
   */
  
  package org.apache.tools.ant.taskdefs;
  
  import org.apache.tools.ant.BuildFileTest;
  import org.apache.tools.ant.Project;
  
  /**
   * @author Conor MacNeill
   */
  public class ImportTest extends BuildFileTest {
  
      public ImportTest(String name) {
          super(name);
      }
  
      public void setUp() {
      }
  
      public void tearDown() {
      }
  
      public void testSimpleImport() {
          configureProject("src/etc/testcases/taskdefs/import/import.xml");
      }
  
      public void testUnnamedNesting() {
          
configureProject("src/etc/testcases/taskdefs/import/unnamedImport.xml",
                           Project.MSG_WARN);
          String log = getLog();
          assertTrue("Warnings logged when not expected: " + log,
                      log.length() == 0);
      }
  }
  
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to