View Javadoc
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