Skip to content

Commit 51f4ee7

Browse files
committed
Added tests for the formatting of option groups
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/cli/branches/cli-1.x@661620 13f79535-47bb-0310-9956-ffa450edef68
1 parent cb3b845 commit 51f4ee7

2 files changed

Lines changed: 38 additions & 2 deletions

File tree

src/java/org/apache/commons/cli/HelpFormatter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
* See the License for the specific language governing permissions and
1515
* limitations under the License.
1616
*/
17+
1718
package org.apache.commons.cli;
1819

1920
import java.io.PrintWriter;
20-
2121
import java.util.ArrayList;
2222
import java.util.Collection;
2323
import java.util.Collections;
@@ -30,7 +30,7 @@
3030
*
3131
* @author Slawek Zachcial
3232
* @author John Keyes (john at integralsource.com)
33-
**/
33+
*/
3434
public class HelpFormatter {
3535
// --------------------------------------------------------------- Constants
3636

src/test/org/apache/commons/cli/HelpFormatterTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import java.io.ByteArrayOutputStream;
2121
import java.io.PrintWriter;
22+
import java.io.StringWriter;
2223
import java.util.Comparator;
2324

2425
import junit.framework.TestCase;
@@ -221,4 +222,39 @@ public int compare(Object o1, Object o2) {
221222
assertEquals("usage: app [-c] [-b] [-a]" + EOL, bytesOut.toString());
222223
}
223224

225+
public void testPrintOptionGroupUsage() {
226+
OptionGroup group = new OptionGroup();
227+
group.addOption(OptionBuilder.create("a"));
228+
group.addOption(OptionBuilder.create("b"));
229+
group.addOption(OptionBuilder.create("c"));
230+
231+
Options options = new Options();
232+
options.addOptionGroup(group);
233+
234+
StringWriter out = new StringWriter();
235+
236+
HelpFormatter formatter = new HelpFormatter();
237+
formatter.printUsage(new PrintWriter(out), 80, "app", options);
238+
239+
assertEquals("usage: app [-a | -b | -c]" + EOL, out.toString());
240+
}
241+
242+
public void testPrintRequiredOptionGroupUsage() {
243+
OptionGroup group = new OptionGroup();
244+
group.addOption(OptionBuilder.create("a"));
245+
group.addOption(OptionBuilder.create("b"));
246+
group.addOption(OptionBuilder.create("c"));
247+
group.setRequired(true);
248+
249+
Options options = new Options();
250+
options.addOptionGroup(group);
251+
252+
StringWriter out = new StringWriter();
253+
254+
HelpFormatter formatter = new HelpFormatter();
255+
formatter.printUsage(new PrintWriter(out), 80, "app", options);
256+
257+
assertEquals("usage: app -a | -b | -c" + EOL, out.toString());
258+
}
259+
224260
}

0 commit comments

Comments
 (0)