1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.cli.bug;
18  
19  import junit.framework.TestCase;
20  import org.apache.commons.cli.CommandLine;
21  import org.apache.commons.cli.Option;
22  import org.apache.commons.cli.OptionBuilder;
23  import org.apache.commons.cli.Options;
24  import org.apache.commons.cli.ParseException;
25  import org.apache.commons.cli.PosixParser;
26  
27  /***
28   * @author brianegge
29   */
30  public class BugCLI13Test
31      extends TestCase
32  {
33      public void testCLI13()
34          throws ParseException
35      {
36          final String debugOpt = "debug";
37          Option debug = OptionBuilder
38              .withArgName( debugOpt )
39              .withDescription( "turn on debugging" )
40              .withLongOpt( debugOpt )
41              .hasArg()
42              .create( 'd' );
43          Options options = new Options();
44          options.addOption( debug );
45          CommandLine commandLine = new PosixParser().parse( options, new String[]{"-d", "true"} );
46  
47          assertEquals("true", commandLine.getOptionValue( debugOpt ));
48          assertEquals("true", commandLine.getOptionValue( 'd' ));
49          assertTrue(commandLine.hasOption( 'd'));
50          assertTrue(commandLine.hasOption( debugOpt));
51      }
52  }