1 /***
2 * <copyright>
3 * Copyright 1997-2002 InfoEther, LLC
4 * under sponsorship of the Defense Advanced Research Projects Agency
5 (DARPA).
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the Cougaar Open Source License as published
9 by
10 * DARPA on the Cougaar Open Source Website (www.cougaar.org).
11 *
12 * THE COUGAAR SOFTWARE AND ANY DERIVATIVE SUPPLIED BY LICENSOR IS
13 * PROVIDED 'AS IS' WITHOUT WARRANTIES OF ANY KIND, WHETHER EXPRESS OR
14 * IMPLIED, INCLUDING (BUT NOT LIMITED TO) ALL IMPLIED WARRANTIES OF
15 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND WITHOUT
16 * ANY WARRANTIES AS TO NON-INFRINGEMENT. IN NO EVENT SHALL COPYRIGHT
17 * HOLDER BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL
18 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE OF DATA OR PROFITS,
19 * TORTIOUS CONDUCT, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 * PERFORMANCE OF THE COUGAAR SOFTWARE.
21 * </copyright>
22 */
23 package test.net.sourceforge.pmd;
24
25 import junit.framework.TestCase;
26 import net.sourceforge.pmd.CommandLineOptions;
27 import net.sourceforge.pmd.renderers.CSVRenderer;
28 import net.sourceforge.pmd.renderers.EmacsRenderer;
29 import net.sourceforge.pmd.renderers.HTMLRenderer;
30 import net.sourceforge.pmd.renderers.IDEAJRenderer;
31 import net.sourceforge.pmd.renderers.TextRenderer;
32 import net.sourceforge.pmd.renderers.XMLRenderer;
33 import net.sourceforge.pmd.renderers.VBHTMLRenderer;
34
35 public class CommandLineOptionsTest extends TestCase {
36
37 public void testDebug() {
38 CommandLineOptions opt = new CommandLineOptions(new String[] {"file", "format", "ruleset", "-debug"});
39 assertTrue(opt.debugEnabled());
40 }
41
42 public void testTargetJDKVersion() {
43 CommandLineOptions opt = new CommandLineOptions(new String[] {"file", "format", "ruleset"});
44 assertFalse(opt.jdk13());
45 opt = new CommandLineOptions(new String[] {"file", "format", "ruleset", "-jdk13"});
46 assertTrue(opt.jdk13());
47 }
48
49 public void testShortNames() {
50 CommandLineOptions opt = new CommandLineOptions(new String[] {"file", "format", "ruleset", "-shortnames"});
51 assertTrue(opt.shortNamesEnabled());
52 }
53
54 public void testInputFileName() {
55 CommandLineOptions opt = new CommandLineOptions(new String[] {"file", "format", "ruleset"});
56 assertEquals("file", opt.getInputFileName());
57 }
58
59 public void testReportFormat() {
60 CommandLineOptions opt = new CommandLineOptions(new String[] {"file", "format", "ruleset"});
61 assertEquals("format", opt.getReportFormat());
62 }
63
64 public void testRulesets() {
65 CommandLineOptions opt = new CommandLineOptions(new String[] {"file", "format", "ruleset"});
66 assertEquals("ruleset", opt.getRulesets());
67 }
68
69 public void testCommaSeparatedFiles() {
70 CommandLineOptions opt = new CommandLineOptions(new String[] {"file1,file2,file3", "format", "ruleset"});
71 assertTrue(opt.containsCommaSeparatedFileList());
72 }
73
74 public void testNotEnoughArgs() {
75 try {
76 new CommandLineOptions(new String[] {"file1", "format"});
77 fail("Should have thrown an exception when only array contained < 3 args");
78 } catch (RuntimeException re) {
79 // cool
80 }
81 }
82
83 public void testNullArgs() {
84 try {
85 new CommandLineOptions(null);
86 fail("Should have thrown an exception when null passed to constructor");
87 } catch (RuntimeException re) {
88 // cool
89 }
90 }
91
92 public void testRenderer() {
93 CommandLineOptions opt = new CommandLineOptions(new String[] {"file", "xml", "ruleset"});
94 assertTrue(opt.createRenderer() instanceof XMLRenderer);
95 opt = new CommandLineOptions(new String[] {"file", "html", "ruleset"});
96 assertTrue(opt.createRenderer() instanceof HTMLRenderer);
97 opt = new CommandLineOptions(new String[] {"file", "text", "ruleset"});
98 assertTrue(opt.createRenderer() instanceof TextRenderer);
99 opt = new CommandLineOptions(new String[] {"file", "emacs", "ruleset"});
100 assertTrue(opt.createRenderer() instanceof EmacsRenderer);
101 opt = new CommandLineOptions(new String[] {"file", "csv", "ruleset"});
102 assertTrue(opt.createRenderer() instanceof CSVRenderer);
103 opt = new CommandLineOptions(new String[] {"file", "vbhtml", "ruleset"});
104 assertTrue(opt.createRenderer() instanceof VBHTMLRenderer);
105 opt = new CommandLineOptions(new String[] {"file", "ideaj", "ruleset"});
106 assertTrue(opt.createRenderer() instanceof IDEAJRenderer);
107
108 try {
109 opt = new CommandLineOptions(new String[] {"file", "fiddlefaddle", "ruleset"});
110 opt.createRenderer();
111 } catch (IllegalArgumentException iae) {
112 // cool
113 }
114
115 try {
116 opt = new CommandLineOptions(new String[] {"file", "", "ruleset"});
117 opt.createRenderer();
118 } catch (IllegalArgumentException iae) {
119 // cool
120 }
121 }
122 }
This page was automatically generated by Maven