jkeyes      2003/10/20 14:28:18

  Modified:    cli/src/test/org/apache/commons/cli2 ApplicationTest.java
  Added:       cli/src/test/org/apache/commons/cli2/apps LsTest.java
  Log:
  
- factored out ls test from ApplicationTest
- WIP LsTest
  
  Revision  Changes    Path
  1.1                  
jakarta-commons-sandbox/cli/src/test/org/apache/commons/cli2/apps/LsTest.java
  
  Index: LsTest.java
  ===================================================================
  /*
   * $Header: 
/home/cvs/jakarta-commons-sandbox/cli/src/test/org/apache/commons/cli2/apps/LsTest.java,v
 1.1 2003/10/20 21:28:18 jkeyes Exp $
   * $Revision: 1.1 $
   * $Date: 2003/10/20 21:28:18 $
   *
   * ====================================================================
   *
   * 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", "Commons", 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 GroupImpl.
   *
   * 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.commons.cli2.apps;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import junit.framework.Test;
  import junit.framework.TestCase;
  import junit.framework.TestSuite;
  
  import org.apache.commons.cli2.ArgumentBuilder;
  import org.apache.commons.cli2.CommandLine;
  import org.apache.commons.cli2.CommandLineParser;
  import org.apache.commons.cli2.DefaultOptionBuilder;
  import org.apache.commons.cli2.Group;
  import org.apache.commons.cli2.GroupBuilder;
  import org.apache.commons.cli2.Option;
  import org.apache.commons.cli2.OptionException;
  import org.apache.commons.cli2.validation.StringValidator;
  
  /**
   * <p>
   * Test the <code>ls</code> command.  Duplicated Option types
   * are not tested e.g. -a and -d are the same Option type.
   * </p>
   * 
   * <p>
   * The following is the man output for 'ls'.  See http://www.rt.com/man/ls.1.html.
   * </p>
   * 
   * <pre>
   * LS(1)                          FSF                          LS(1)
   *
   * NAME
   *       ls - list directory contents
   *
   * SYNOPSIS
   *       ls [OPTION]... [FILE]...
   *
   * DESCRIPTION
   *       List information about the FILEs (the current directory by
   *       default).  Sort entries alphabetically if none of -cftuSUX
   *       nor --sort.
   *
   *       -a, --all
   *              do not hide entries starting with .
   *
   *       -A, --almost-all
   *              do not list implied . and ..
   *
   *       -b, --escape
   *              print octal escapes for nongraphic characters
   *
   *       --block-size=SIZE
   *              use SIZE-byte blocks
   *
   *       -B, --ignore-backups
   *              do not list implied entries ending with ~
   *
   *       -c     sort by change time; with -l: show ctime
   *
   *       -C     list entries by columns
   *
   *       --color[=WHEN]
   *              control  whether  color is used to distinguish file
   *              types.  WHEN may be `never', `always', or `auto'
   *
   *       -d, --directory
   *              list directory entries instead of contents
   *
   *       -D, --dired
   *              generate output designed for Emacs' dired mode
   *
   *       -f     do not sort, enable -aU, disable -lst
   *
   *       -F, --classify
   *              append indicator (one of /=@|*) to entries
   *
   *       --format=WORD
   *              across -x, commas -m, horizontal -x, long -l,  sin-
   *              gle-column -1, verbose -l, vertical -C
   *
   *       --full-time
   *              list both full date and full time
   *
   *       -g     (ignored)
   *
   *       -G, --no-group
   *              inhibit display of group information
   *
   *       -h, --human-readable
   *              print sizes in human readable format (e.g., 1K 234M
   *              2G)
   *
   *       -H, --si
   *              likewise, but use powers of 1000 not 1024
   *
   *       --indicator-style=WORD
   *              append indicator with style WORD  to  entry  names:
   *              none (default), classify (-F), file-type (-p)
   *
   *       -i, --inode
   *              print index number of each file
   *
   *       -I, --ignore=PATTERN
   *              do not list implied entries matching shell PATTERN
   *
   *       -k, --kilobytes
   *              like --block-size=1024
   *
   *       -l     use a long listing format
   *
   *       -L, --dereference
   *              list entries pointed to by symbolic links
   *
   *       -m     fill width with a comma separated list of entries
   *
   *       -n, --numeric-uid-gid
   *              list numeric UIDs and GIDs instead of names
   *
   *       -N, --literal
   *              print  raw  entry  names  (don't treat e.g. control
   *              characters specially)
   *
   *       -o     use long listing format without group info
   *
   *       -p, --file-type
   *              append indicator (one of /=@|) to entries
   *
   *       -q, --hide-control-chars
   *              print ? instead of non graphic characters
   *
   *       --show-control-chars
   *              show non graphic characters as-is (default)
   *
   *       -Q, --quote-name
   *              enclose entry names in double quotes
   *
   *       --quoting-style=WORD
   *              use quoting style WORD for  entry  names:  literal,
   *              shell, shell-always, c, escape
   *
   *       -r, --reverse
   *              reverse order while sorting
   *
   *       -R, --recursive
   *              list subdirectories recursively
   *
   *       -s, --size
   *              print size of each file, in blocks
   *
   *       -S     sort by file size
   *
   *       --sort=WORD
   *              extension -X, none -U, size -S, time -t, version -v
   *              status -c, time -t, atime -u, access -u, use -u
   *
   *       --time=WORD
   *              show time as WORD  instead  of  modification  time:
   *              atime,  access, use, ctime or status; use specified
   *              time as sort key if --sort=time
   *
   *       -t     sort by modification time
   *
   *       -T, --tabsize=COLS
   *              assume tab stops at each COLS instead of 8
   *
   *       -u     sort by last access time; with -l: show atime
   *
   *       -U     do not sort; list entries in directory order
   *
   *       -v     sort by version
   *
   *       -w, --width=COLS
   *              assume screen width instead of current value
   *
   *       -x     list entries by lines instead of by columns
   *
   *       -X     sort alphabetically by entry extension
   *
   *       -1     list one file per line
   *
   *       --help display this help and exit
   *
   *       --version
   *              output version information and exit
   *
   *       By default, color is not  used  to  distinguish  types  of
   *       files.   That  is equivalent to using --color=none.  Using
   *       the --color option without the optional WHEN  argument  is
   *       equivalent  to  using  --color=always.  With --color=auto,
   *       color codes are output only if  standard  output  is  con-
   *       nected to a terminal (tty).
   * </pre>
   * 
   * @author Rob Oxspring
   * @author John Keyes
   */
  public class LsTest extends TestCase {
  
        /** Option Builder */
        private static final DefaultOptionBuilder oBuilder = new 
DefaultOptionBuilder();
  
        /** Argument Builder */
        private static final ArgumentBuilder aBuilder = new ArgumentBuilder();
        
        /** Group Builder */
        private static final GroupBuilder gBuilder = new GroupBuilder();
        
        private static Group options;
  
        public static Test suite() {
                return new TestSuite(LsTest.class);
        }
  
        /**
         * Required ctor.
         * 
         * @param name 
         *     the name of the TestCase
         */
        public LsTest(final String name) {
                super(name);
        }
  
        public void setUp() throws OptionException {
                if (LsTest.options == null) {
                        final Option a = oBuilder
                            .withShortName("a")
                                .withLongName("all")
                                .withDescription("do not hide entries starting with .")
                                .create();
   
              final Option blockSize = oBuilder
                  .withLongName("block-size")
                  .withRequired(false)
                  .withDescription("use SIZE-byte blocks")
                  .withArgument(
                      aBuilder
                          .withMaximum(1)
                          .withMinimum(1)
                          .withInitialSeparator('=')
                          .create())
                  .create();
                  
              final Option c = oBuilder
                  .withShortName("c")
                  .withRequired(false)
                  .withDescription("with -lt: sort by, and show, ctime (time of last 
modification of file status information) with -l:show ctime and sort by name 
otherwise: sort by ctime")
                  .create();
  
              final List colors = new ArrayList();
              colors.add("never");
              colors.add("always");
              colors.add("auto");
              final Option color = oBuilder
                  .withLongName("color")
                  .withRequired(false)
                  .withDescription("control  whether  color is used to distinguish 
file types.  WHEN may be `never', `always', or `auto'")
                  .withArgument(
                      aBuilder
                          .withMaximum(1)
                          .withMinimum(1)
                          .withInitialSeparator('=')
                          .withValidator(new StringValidator(colors))
                          .create())
                  .create();
                  
              LsTest.options = gBuilder
                  .withOption(a)
                  .withOption(blockSize)
                  .withOption(c)
                  .withOption(color)
                  .create();
                }
        }
      
        /**
         *      
         */
        public void testLs() throws OptionException {
                // create the command line parser
                CommandLineParser parser = new CommandLineParser();
                parser.setGroup(options);
                CommandLine line = parser.parse(new String[] { "--block-size=10", 
"--color=never" });
  
                assertTrue(line.hasOption("--block-size"));
                assertEquals(line.getValue("--block-size"), "10");
                assertFalse(line.hasOption("--ignore-backups"));
        }
  
  }
  
  
  
  1.2       +541 -615  
jakarta-commons-sandbox/cli/src/test/org/apache/commons/cli2/ApplicationTest.java
  
  Index: ApplicationTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/cli/src/test/org/apache/commons/cli2/ApplicationTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ApplicationTest.java      18 Oct 2003 22:00:26 -0000      1.1
  +++ ApplicationTest.java      20 Oct 2003 21:28:18 -0000      1.2
  @@ -1,616 +1,542 @@
  -/*
  - * $Header$
  - * $Revision$
  - * $Date$
  - *
  - * ====================================================================
  - *
  - * 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", "Commons", 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 GroupImpl.
  - *
  - * 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.commons.cli2;
  -
  -import java.util.List;
  -
  -import junit.framework.Test;
  -import junit.framework.TestCase;
  -import junit.framework.TestSuite;
  -
  -/**
  - * <p>
  - * This is a collection of tests that test real world
  - * applications command lines.
  - * </p>
  - * 
  - * <p>
  - * The following are the applications that are tested:
  - * <ul>
  - * <li>Ant</li>
  - * </ul>
  - * </p>
  - *
  - * @author John Keyes (john at integralsource.com)
  - */
  -public class ApplicationTest extends TestCase {
  -
  -     public static Test suite() {
  -             return new TestSuite(ApplicationTest.class);
  -     }
  -
  -     public ApplicationTest(String name) {
  -             super(name);
  -     }
  -
  -     /**
  -      *      
  -      */
  -     public void testLs() throws OptionException {
  -             DefaultOptionBuilder oBuilder = new DefaultOptionBuilder();
  -             ArgumentBuilder aBuilder = new ArgumentBuilder();
  -             GroupBuilder gBuilder = new GroupBuilder();
  -
  -             Group options =
  -                     gBuilder
  -                             .withName("ls")
  -                             .withDescription("options")
  -                             .withOption(
  -                                     oBuilder
  -                                             .withShortName("a")
  -                                             .withLongName("all")
  -                                             .withDescription("do not hide entries 
starting with .")
  -                                             .create())
  -                             .withOption(
  -                                     oBuilder
  -                                             .withShortName("A")
  -                                             .withLongName("almost-all")
  -                                             .withDescription("do not list implied 
. and ..")
  -                                             .create())
  -                             .withOption(
  -                                     oBuilder
  -                                             .withShortName("b")
  -                                             .withLongName("escape")
  -                                             .withRequired(false)
  -                                             .withDescription("print octal escapes 
for nongraphic characters")
  -                                             .create())
  -                             .withOption(
  -                                     oBuilder
  -                                             .withLongName("block-size")
  -                                             .withRequired(false)
  -                                             .withDescription("use SIZE-byte 
blocks")
  -                                             .withArgument(
  -                                                     aBuilder
  -                                                             .withMaximum(1)
  -                                                             .withMinimum(1)
  -                                                             
.withInitialSeparator('=')
  -                                                             .create())
  -                                             .create())
  -                             .withOption(
  -                                     oBuilder
  -                                             .withShortName("B")
  -                                             .withLongName("ignore-backups")
  -                                             .withRequired(false)
  -                                             .withDescription("do not list implied 
entried ending with ~")
  -                                             .create())
  -                             .withOption(
  -                                     oBuilder
  -                                             .withShortName("c")
  -                                             .withRequired(false)
  -                                             .withDescription("with -lt: sort by, 
and show, ctime (time of last modification of file status information) with -l:show 
ctime and sort by name otherwise: sort by ctime")
  -                                             .create())
  -                             .withOption(
  -                                     oBuilder
  -                                             .withShortName("C")
  -                                             .withRequired(false)
  -                                             .withDescription("list entries by 
columns")
  -                                             .create())
  -                             .create();
  -
  -             // create the command line parser
  -             CommandLineParser parser = new CommandLineParser();
  -             parser.setGroup(options);
  -             CommandLine line = parser.parse(new String[] { "--block-size=10" });
  -
  -             assertTrue(line.hasOption("--block-size"));
  -             assertEquals(line.getValue("--block-size"), "10");
  -             assertFalse(line.hasOption("--ignore-backups"));
  -     }
  -
  -     /**
  -      * Ant test
  -      */
  -     public void testAnt() throws OptionException {
  -
  -             final DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
  -             final ArgumentBuilder abuilder = new ArgumentBuilder();
  -             final GroupBuilder gbuilder = new GroupBuilder();
  -
  -             final Group options =
  -                     gbuilder
  -                             .withName("ant")
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("help")
  -                                             .withDescription("print this message")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("projecthelp")
  -                                             .withDescription("print project help 
information")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("version")
  -                                             .withDescription("print the version 
information and exit")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("diagnostics")
  -                                             .withDescription("print information 
that might be helpful to diagnose or report problems.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("quiet")
  -                                             .withShortName("q")
  -                                             .withDescription("be extra quiet")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("verbose")
  -                                             .withShortName("v")
  -                                             .withDescription("be extra verbose")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("debug")
  -                                             .withDescription("print debugging 
information")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("emacs")
  -                                             .withDescription("produce logging 
information without adornments")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("logfile")
  -                                             .withShortName("l")
  -                                             .withDescription("use given file for 
log")
  -                                             .withArgument(
  -                                                     abuilder
  -                                                             .withName("file")
  -                                                             .withMinimum(1)
  -                                                             .withMaximum(1)
  -                                                             .create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("logger")
  -                                             .withDescription("the class which is 
to perform logging")
  -                                             .withArgument(
  -                                                     abuilder
  -                                                             .withName("classname")
  -                                                             .withMinimum(1)
  -                                                             .withMaximum(1)
  -                                                             .create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("listener")
  -                                             .withDescription("add an instance of 
class as a project listener")
  -                                             .withArgument(
  -                                                     abuilder
  -                                                             .withName("classname")
  -                                                             .withMinimum(1)
  -                                                             .withMaximum(1)
  -                                                             .create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("buildfile")
  -                                             .withShortName("file")
  -                                             .withShortName("f")
  -                                             .withDescription("use given buildfile")
  -                                             .withArgument(
  -                                                     abuilder
  -                                                             .withName("file")
  -                                                             .withMinimum(1)
  -                                                             .withMaximum(1)
  -                                                             .create())
  -                                             .create())
  -                             .withOption(PropertyOption.INSTANCE)
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("propertyfile")
  -                                             .withDescription("load all properties 
from file with -D properties taking precedence")
  -                                             .withArgument(
  -                                                     abuilder
  -                                                             .withName("name")
  -                                                             .withMinimum(1)
  -                                                             .withMaximum(1)
  -                                                             .create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("inputhandler")
  -                                             .withDescription("the class which will 
handle input requests")
  -                                             .withArgument(
  -                                                     abuilder
  -                                                             .withName("class")
  -                                                             .withMinimum(1)
  -                                                             .withMaximum(1)
  -                                                             .create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("find")
  -                                             .withDescription("search for buildfile 
towards the root of the filesystem and use it")
  -                                             .withArgument(
  -                                                     abuilder
  -                                                             .withName("file")
  -                                                             .withMinimum(1)
  -                                                             .withMaximum(1)
  -                                                             .create())
  -                                             .create())
  -                             .withOption(abuilder.withName("target").create())
  -                             .create();
  -
  -             CommandLineParser parser = new CommandLineParser();
  -             parser.setGroup(options);
  -             CommandLine line =
  -                     parser.parse(
  -                             new String[] {
  -                                     "-buildfile",
  -                                     "mybuild.xml",
  -                                     "-Dproperty=value",
  -                                     "-Dproperty1=value1",
  -                                     "-projecthelp",
  -                                     "compile",
  -                                     "docs" });
  -
  -             // check properties
  -             assertEquals(2, line.getProperties().size());
  -             assertEquals("value", line.getProperty("property"));
  -             assertEquals("value1", line.getProperty("property1"));
  -
  -             // check single values
  -             assertEquals("mybuild.xml", line.getValue("-buildfile"));
  -             assertTrue(line.hasOption("-projecthelp"));
  -             assertFalse(line.hasOption("-help"));
  -
  -             // check targets
  -             final List unprocessed = line.getUnprocessed();
  -             assertTrue(unprocessed.isEmpty());
  -     }
  -
  -     public void testCVS() throws OptionException {
  -             final DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
  -             final ArgumentBuilder abuilder = new ArgumentBuilder();
  -             final CommandBuilder cbuilder = new CommandBuilder();
  -             final GroupBuilder gbuilder = new GroupBuilder();
  -
  -             final Group commands =
  -                     gbuilder
  -                             .withName("commands")
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("add")
  -                                             .withName("ad")
  -                                             .withName("new")
  -                                             .withDescription("Add a new 
file/directory to the repository")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("admin")
  -                                             .withName("adm")
  -                                             .withName("rcs")
  -                                             .withDescription("Administration front 
end for rcs")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("annotate")
  -                                             .withName("ann")
  -                                             .withDescription("Show last revision 
where each line was modified")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("checkout")
  -                                             .withName("co")
  -                                             .withName("get")
  -                                             .withDescription("Checkout sources for 
editing")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("commit")
  -                                             .withName("ci")
  -                                             .withName("com")
  -                                             .withDescription("Check files into the 
repository")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("diff")
  -                                             .withName("di")
  -                                             .withName("dif")
  -                                             .withDescription("Show differences 
between revisions")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("edit")
  -                                             .withDescription("Get ready to edit a 
watched file")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("editors")
  -                                             .withDescription("See who is editing a 
watched file")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("export")
  -                                             .withName("exp")
  -                                             .withName("ex")
  -                                             .withDescription("Export sources from 
CVS, similar to checkout")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("history")
  -                                             .withName("hi")
  -                                             .withName("his")
  -                                             .withDescription("Show repository 
access history")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("import")
  -                                             .withName("im")
  -                                             .withName("imp")
  -                                             .withDescription("Import sources into 
CVS, using vendor branches")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("init")
  -                                             .withDescription("Create a CVS 
repository if it doesn't exist")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("log")
  -                                             .withName("lo")
  -                                             .withName("rlog")
  -                                             .withDescription("Print out history 
information for files")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("login")
  -                                             .withName("logon")
  -                                             .withName("lgn")
  -                                             .withDescription("Prompt for password 
for authenticating server")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("logout")
  -                                             .withDescription("Removes entry in 
.cvspass for remote repository")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("rdiff")
  -                                             .withName("patch")
  -                                             .withName("pa")
  -                                             .withDescription("Create 'patch' 
format diffs between releases")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("release")
  -                                             .withName("re")
  -                                             .withName("rel")
  -                                             .withDescription("Indicate that a 
Module is no longer in use")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("remove")
  -                                             .withName("rm")
  -                                             .withName("delete")
  -                                             .withDescription("Remove an entry from 
the repository")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("rtag")
  -                                             .withName("rt")
  -                                             .withName("rfreeze")
  -                                             .withDescription("Add a symbolic tag 
to a module")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("status")
  -                                             .withName("st")
  -                                             .withName("stat")
  -                                             .withDescription("Display status 
information on checked out files")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("tag")
  -                                             .withName("ta")
  -                                             .withName("freeze")
  -                                             .withDescription("Add a symbolic tag 
to checked out version of files")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("unedit")
  -                                             .withDescription("Undo an edit 
command")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("update")
  -                                             .withName("up")
  -                                             .withName("upd")
  -                                             .withDescription("Bring work tree in 
sync with repository")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("watch")
  -                                             .withDescription("Set watches")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("watchers")
  -                                             .withDescription("See who is watching 
a file")
  -                                             .create())
  -                             .withOption(
  -                                     cbuilder
  -                                             .withName("version")
  -                                             .withName("ve")
  -                                             .withName("ver")
  -                                             .withDescription("????")
  -                                             .create())
  -                             .withOption(ArgumentTest.buildTargetsArgument())
  -                             .create();
  -
  -             final Group cvsOptions =
  -                     new GroupBuilder()
  -                             .withName("cvs-options")
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("H")
  -                                             .withDescription("Displays usage 
information for command.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("Q")
  -                                             .withDescription("Cause CVS to be 
really quiet.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("q")
  -                                             .withDescription("Cause CVS to be 
somewhat quiet.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("r")
  -                                             .withDescription("Make checked-out 
files read-only.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("w")
  -                                             .withDescription("Make checked-out 
files read-write (default).")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("l")
  -                                             .withDescription("Turn history logging 
off.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("n")
  -                                             .withDescription("Do not execute 
anything that will change the disk.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("t")
  -                                             .withDescription("Show trace of 
program execution -- try with -n.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("v")
  -                                             .withDescription("CVS version and 
copyright.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withLongName("crlf")
  -                                             .withDescription("Use the Dos line 
feed for text files (default).")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withLongName("lf")
  -                                             .withDescription("Use the Unix line 
feed for text files.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("T")
  -                                             .withDescription("Use 'tmpdir' for 
temporary files.")
  -                                             
.withArgument(abuilder.withName("tmpdir").create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("e")
  -                                             .withDescription("Use 'editor' for 
editing log information.")
  -                                             
.withArgument(abuilder.withName("editor").create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("d")
  -                                             .withDescription("Overrides $CVSROOT 
as the root of the CVS tree.")
  -                                             
.withArgument(abuilder.withName("CVS_root").create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("f")
  -                                             .withDescription("Do not use the 
~/.cvsrc file.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("z")
  -                                             .withDescription("Use compression 
level '#' for net traffic.")
  -                                             
.withArgument(abuilder.withName("#").create())
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("a")
  -                                             .withDescription("Authenticate all net 
traffic.")
  -                                             .create())
  -                             .withOption(
  -                                     obuilder
  -                                             .withShortName("s")
  -                                             .withDescription("Set CVS user 
variable.")
  -                                             
.withArgument(abuilder.withName("VAR=VAL").create())
  -                                             .create())
  -                             .withOption(commands)
  -                             .create();
  -
  -             assertNotNull(cvsOptions);
  -     }
  +/*
  + * $Header$
  + * $Revision$
  + * $Date$
  + *
  + * ====================================================================
  + *
  + * 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", "Commons", 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 GroupImpl.
  + *
  + * 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.commons.cli2;
  +
  +import java.util.List;
  +
  +import junit.framework.Test;
  +import junit.framework.TestCase;
  +import junit.framework.TestSuite;
  +
  +/**
  + * <p>
  + * This is a collection of tests that test real world
  + * applications command lines.
  + * </p>
  + * 
  + * <p>
  + * The following are the applications that are tested:
  + * <ul>
  + * <li>Ant</li>
  + * </ul>
  + * </p>
  + *
  + * @author John Keyes (john at integralsource.com)
  + */
  +public class ApplicationTest extends TestCase {
  +
  +     public static Test suite() {
  +             return new TestSuite(ApplicationTest.class);
  +     }
  +
  +     public ApplicationTest(String name) {
  +             super(name);
  +     }
  +
  +     /**
  +      * Ant test
  +      */
  +     public void testAnt() throws OptionException {
  +
  +             final DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
  +             final ArgumentBuilder abuilder = new ArgumentBuilder();
  +             final GroupBuilder gbuilder = new GroupBuilder();
  +
  +             final Group options =
  +                     gbuilder
  +                             .withName("ant")
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("help")
  +                                             .withDescription("print this message")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("projecthelp")
  +                                             .withDescription("print project help 
information")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("version")
  +                                             .withDescription("print the version 
information and exit")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("diagnostics")
  +                                             .withDescription("print information 
that might be helpful to diagnose or report problems.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("quiet")
  +                                             .withShortName("q")
  +                                             .withDescription("be extra quiet")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("verbose")
  +                                             .withShortName("v")
  +                                             .withDescription("be extra verbose")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("debug")
  +                                             .withDescription("print debugging 
information")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("emacs")
  +                                             .withDescription("produce logging 
information without adornments")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("logfile")
  +                                             .withShortName("l")
  +                                             .withDescription("use given file for 
log")
  +                                             .withArgument(
  +                                                     abuilder
  +                                                             .withName("file")
  +                                                             .withMinimum(1)
  +                                                             .withMaximum(1)
  +                                                             .create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("logger")
  +                                             .withDescription("the class which is 
to perform logging")
  +                                             .withArgument(
  +                                                     abuilder
  +                                                             .withName("classname")
  +                                                             .withMinimum(1)
  +                                                             .withMaximum(1)
  +                                                             .create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("listener")
  +                                             .withDescription("add an instance of 
class as a project listener")
  +                                             .withArgument(
  +                                                     abuilder
  +                                                             .withName("classname")
  +                                                             .withMinimum(1)
  +                                                             .withMaximum(1)
  +                                                             .create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("buildfile")
  +                                             .withShortName("file")
  +                                             .withShortName("f")
  +                                             .withDescription("use given buildfile")
  +                                             .withArgument(
  +                                                     abuilder
  +                                                             .withName("file")
  +                                                             .withMinimum(1)
  +                                                             .withMaximum(1)
  +                                                             .create())
  +                                             .create())
  +                             .withOption(PropertyOption.INSTANCE)
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("propertyfile")
  +                                             .withDescription("load all properties 
from file with -D properties taking precedence")
  +                                             .withArgument(
  +                                                     abuilder
  +                                                             .withName("name")
  +                                                             .withMinimum(1)
  +                                                             .withMaximum(1)
  +                                                             .create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("inputhandler")
  +                                             .withDescription("the class which will 
handle input requests")
  +                                             .withArgument(
  +                                                     abuilder
  +                                                             .withName("class")
  +                                                             .withMinimum(1)
  +                                                             .withMaximum(1)
  +                                                             .create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("find")
  +                                             .withDescription("search for buildfile 
towards the root of the filesystem and use it")
  +                                             .withArgument(
  +                                                     abuilder
  +                                                             .withName("file")
  +                                                             .withMinimum(1)
  +                                                             .withMaximum(1)
  +                                                             .create())
  +                                             .create())
  +                             .withOption(abuilder.withName("target").create())
  +                             .create();
  +
  +             CommandLineParser parser = new CommandLineParser();
  +             parser.setGroup(options);
  +             CommandLine line =
  +                     parser.parse(
  +                             new String[] {
  +                                     "-buildfile",
  +                                     "mybuild.xml",
  +                                     "-Dproperty=value",
  +                                     "-Dproperty1=value1",
  +                                     "-projecthelp",
  +                                     "compile",
  +                                     "docs" });
  +
  +             // check properties
  +             assertEquals(2, line.getProperties().size());
  +             assertEquals("value", line.getProperty("property"));
  +             assertEquals("value1", line.getProperty("property1"));
  +
  +             // check single values
  +             assertEquals("mybuild.xml", line.getValue("-buildfile"));
  +             assertTrue(line.hasOption("-projecthelp"));
  +             assertFalse(line.hasOption("-help"));
  +
  +             // check targets
  +             final List unprocessed = line.getUnprocessed();
  +             assertTrue(unprocessed.isEmpty());
  +     }
  +
  +     public void testCVS() throws OptionException {
  +             final DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
  +             final ArgumentBuilder abuilder = new ArgumentBuilder();
  +             final CommandBuilder cbuilder = new CommandBuilder();
  +             final GroupBuilder gbuilder = new GroupBuilder();
  +
  +             final Group commands =
  +                     gbuilder
  +                             .withName("commands")
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("add")
  +                                             .withName("ad")
  +                                             .withName("new")
  +                                             .withDescription("Add a new 
file/directory to the repository")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("admin")
  +                                             .withName("adm")
  +                                             .withName("rcs")
  +                                             .withDescription("Administration front 
end for rcs")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("annotate")
  +                                             .withName("ann")
  +                                             .withDescription("Show last revision 
where each line was modified")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("checkout")
  +                                             .withName("co")
  +                                             .withName("get")
  +                                             .withDescription("Checkout sources for 
editing")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("commit")
  +                                             .withName("ci")
  +                                             .withName("com")
  +                                             .withDescription("Check files into the 
repository")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("diff")
  +                                             .withName("di")
  +                                             .withName("dif")
  +                                             .withDescription("Show differences 
between revisions")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("edit")
  +                                             .withDescription("Get ready to edit a 
watched file")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("editors")
  +                                             .withDescription("See who is editing a 
watched file")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("export")
  +                                             .withName("exp")
  +                                             .withName("ex")
  +                                             .withDescription("Export sources from 
CVS, similar to checkout")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("history")
  +                                             .withName("hi")
  +                                             .withName("his")
  +                                             .withDescription("Show repository 
access history")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("import")
  +                                             .withName("im")
  +                                             .withName("imp")
  +                                             .withDescription("Import sources into 
CVS, using vendor branches")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("init")
  +                                             .withDescription("Create a CVS 
repository if it doesn't exist")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("log")
  +                                             .withName("lo")
  +                                             .withName("rlog")
  +                                             .withDescription("Print out history 
information for files")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("login")
  +                                             .withName("logon")
  +                                             .withName("lgn")
  +                                             .withDescription("Prompt for password 
for authenticating server")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("logout")
  +                                             .withDescription("Removes entry in 
.cvspass for remote repository")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("rdiff")
  +                                             .withName("patch")
  +                                             .withName("pa")
  +                                             .withDescription("Create 'patch' 
format diffs between releases")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("release")
  +                                             .withName("re")
  +                                             .withName("rel")
  +                                             .withDescription("Indicate that a 
Module is no longer in use")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("remove")
  +                                             .withName("rm")
  +                                             .withName("delete")
  +                                             .withDescription("Remove an entry from 
the repository")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("rtag")
  +                                             .withName("rt")
  +                                             .withName("rfreeze")
  +                                             .withDescription("Add a symbolic tag 
to a module")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("status")
  +                                             .withName("st")
  +                                             .withName("stat")
  +                                             .withDescription("Display status 
information on checked out files")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("tag")
  +                                             .withName("ta")
  +                                             .withName("freeze")
  +                                             .withDescription("Add a symbolic tag 
to checked out version of files")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("unedit")
  +                                             .withDescription("Undo an edit 
command")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("update")
  +                                             .withName("up")
  +                                             .withName("upd")
  +                                             .withDescription("Bring work tree in 
sync with repository")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("watch")
  +                                             .withDescription("Set watches")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("watchers")
  +                                             .withDescription("See who is watching 
a file")
  +                                             .create())
  +                             .withOption(
  +                                     cbuilder
  +                                             .withName("version")
  +                                             .withName("ve")
  +                                             .withName("ver")
  +                                             .withDescription("????")
  +                                             .create())
  +                             .withOption(ArgumentTest.buildTargetsArgument())
  +                             .create();
  +
  +             final Group cvsOptions =
  +                     new GroupBuilder()
  +                             .withName("cvs-options")
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("H")
  +                                             .withDescription("Displays usage 
information for command.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("Q")
  +                                             .withDescription("Cause CVS to be 
really quiet.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("q")
  +                                             .withDescription("Cause CVS to be 
somewhat quiet.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("r")
  +                                             .withDescription("Make checked-out 
files read-only.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("w")
  +                                             .withDescription("Make checked-out 
files read-write (default).")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("l")
  +                                             .withDescription("Turn history logging 
off.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("n")
  +                                             .withDescription("Do not execute 
anything that will change the disk.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("t")
  +                                             .withDescription("Show trace of 
program execution -- try with -n.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("v")
  +                                             .withDescription("CVS version and 
copyright.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withLongName("crlf")
  +                                             .withDescription("Use the Dos line 
feed for text files (default).")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withLongName("lf")
  +                                             .withDescription("Use the Unix line 
feed for text files.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("T")
  +                                             .withDescription("Use 'tmpdir' for 
temporary files.")
  +                                             
.withArgument(abuilder.withName("tmpdir").create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("e")
  +                                             .withDescription("Use 'editor' for 
editing log information.")
  +                                             
.withArgument(abuilder.withName("editor").create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("d")
  +                                             .withDescription("Overrides $CVSROOT 
as the root of the CVS tree.")
  +                                             
.withArgument(abuilder.withName("CVS_root").create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("f")
  +                                             .withDescription("Do not use the 
~/.cvsrc file.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("z")
  +                                             .withDescription("Use compression 
level '#' for net traffic.")
  +                                             
.withArgument(abuilder.withName("#").create())
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("a")
  +                                             .withDescription("Authenticate all net 
traffic.")
  +                                             .create())
  +                             .withOption(
  +                                     obuilder
  +                                             .withShortName("s")
  +                                             .withDescription("Set CVS user 
variable.")
  +                                             
.withArgument(abuilder.withName("VAR=VAL").create())
  +                                             .create())
  +                             .withOption(commands)
  +                             .create();
  +
  +             assertNotNull(cvsOptions);
  +     }
   }
  
  
  

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

Reply via email to