roxspring    2004/09/06 15:51:45

  Modified:    cli/src/test/org/apache/commons/cli BugsTest.java
  Log:
  Test checks the displayed output and does so quietly
  
  Revision  Changes    Path
  1.19      +27 -5     
jakarta-commons/cli/src/test/org/apache/commons/cli/BugsTest.java
  
  Index: BugsTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli/BugsTest.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- BugsTest.java     22 Apr 2004 23:00:07 -0000      1.18
  +++ BugsTest.java     6 Sep 2004 22:51:45 -0000       1.19
  @@ -15,6 +15,10 @@
    */
   package org.apache.commons.cli;
   
  +import java.io.ByteArrayOutputStream;
  +import java.io.PrintStream;
  +import java.io.StringWriter;
  +
   import junit.framework.Test;
   import junit.framework.TestCase;
   import junit.framework.TestSuite;
  @@ -274,12 +278,30 @@
                                          .hasArg()
                                          .create( 'd' );
           options.addOption( dir );
  -        try {
  -            HelpFormatter formatter = new HelpFormatter();
  -            formatter.printHelp( "dir", options );
  +        
  +        
  +        final PrintStream oldSystemOut = System.out;
  +        try{
  +            final ByteArrayOutputStream bytes = new ByteArrayOutputStream();
  +            final PrintStream print = new PrintStream(bytes);
  +            
  +            // capture this platform's eol symbol
  +            print.println();
  +            final String eol = bytes.toString();
  +            bytes.reset();
  +            
  +            System.setOut(new PrintStream(bytes));
  +            try {
  +                HelpFormatter formatter = new HelpFormatter();
  +                formatter.printHelp( "dir", options );
  +            }
  +            catch( Exception exp ) {
  +                fail( "Unexpected Exception: " + exp.getMessage() );
  +            }
  +            assertEquals("usage: dir"+eol+" -d <arg>   dir"+eol,bytes.toString());
           }
  -        catch( Exception exp ) {
  -            fail( "Unexpected Exception: " + exp.getMessage() );
  +        finally {
  +            System.setOut(oldSystemOut);
           }
       }
   
  
  
  

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

Reply via email to