KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > java2html > commandline > test > Java2HtmlCommandlineTest


1 package de.java2html.commandline.test;
2
3 import de.java2html.commandline.IJava2HtmlConversion;
4 import de.java2html.commandline.IllegalCommandlineParametersException;
5 import de.java2html.commandline.Java2HtmlCommandline;
6 import de.java2html.commandline.Java2HtmlDirectoryConversion;
7 import de.java2html.commandline.Java2HtmlFileConversion;
8 import de.java2html.converter.JavaSource2HTMLConverter;
9 import de.java2html.converter.JavaSource2TeXConverter;
10 import de.java2html.options.JavaSourceConversionOptions;
11 import de.java2html.options.JavaSourceStyleTable;
12 import de.java2html.test.BasicTestCase;
13
14 /**
15  * @author Markus Gebhard
16  */

17 public class Java2HtmlCommandlineTest extends BasicTestCase {
18
19   /* ------------------ File/Directory --------------- */
20
21   public void testCreateDirectoryConverter() throws IllegalCommandlineParametersException {
22     String JavaDoc[] arguments = new String JavaDoc[]{ "-srcdir", "d:/src" };
23     IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments);
24     assertInstanceOf(Java2HtmlDirectoryConversion.class, conversion);
25   }
26
27   public void testCreateFileConverter() throws IllegalCommandlineParametersException {
28     String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java" };
29     IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments);
30     assertInstanceOf(Java2HtmlFileConversion.class, conversion);
31   }
32
33   /* ------------------ Converter type --------------- */
34
35   public void testHtmlIsDefaultConverter() throws IllegalCommandlineParametersException {
36     String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java" };
37     IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments);
38     assertInstanceOf(JavaSource2HTMLConverter.class, conversion.getConverter());
39   }
40
41   public void testUsesSpecifiedConverter() throws IllegalCommandlineParametersException {
42     String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java", "-converter", "TeX" };
43     IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments);
44     assertInstanceOf(JavaSource2TeXConverter.class, conversion.getConverter());
45   }
46
47   public void testUnknwonConverterThrowsException() {
48     final String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java", "-converter", "UnknownConverterName" };
49     assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() {
50       public void execute() throws Exception JavaDoc {
51         Java2HtmlCommandline.createCommandlineConversion(arguments);
52       }
53     });
54   }
55
56   /* ------------------ Style --------------- */
57   public void testUsesCorrectDefaultStyle() throws IllegalCommandlineParametersException {
58     String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java" };
59     IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments);
60     assertEquals(JavaSourceStyleTable.getDefault(), conversion
61
62     .getConversionOptions().getStyleTable());
63   }
64
65   public void testUsesSpecifiedStyle() throws IllegalCommandlineParametersException {
66     String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java", "-style", "Monochrome" };
67     IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments);
68     assertEquals(JavaSourceStyleTable.getPredefinedTable("Monochrome"), conversion
69         .getConversionOptions().getStyleTable());
70   }
71
72   public void testUnknownStyleThrowsException() {
73     final String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java", "-style", "UnknownStyleName" };
74     assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() {
75       public void execute() throws Exception JavaDoc {
76         Java2HtmlCommandline.createCommandlineConversion(arguments);
77       }
78     });
79   }
80
81   /* ------------------ Options --------------- */
82
83   public void testUsesDefaultTabs() throws IllegalCommandlineParametersException {
84     String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java" };
85     IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments);
86     assertEquals(JavaSourceConversionOptions.getDefault().getTabSize(), conversion
87         .getConversionOptions().getTabSize());
88
89   }
90
91   public void testUsesSpecifiedTabs() throws IllegalCommandlineParametersException {
92     String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java", "-tabs", "5" };
93     IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments);
94     assertEquals(5, conversion.getConversionOptions().getTabSize());
95   }
96
97   public void testIllegalTabsThrowsException() {
98     final String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java", "-tabs", "illegal" };
99     assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() {
100       public void execute() throws Exception JavaDoc {
101         Java2HtmlCommandline.createCommandlineConversion(arguments);
102       }
103     });
104   }
105
106   public void testNegativeTabsThrowsException() {
107     final String JavaDoc[] arguments = new String JavaDoc[]{ "-srcfile", "d:/src/test.java", "-tabs", "-3" };
108     assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() {
109       public void execute() throws Exception JavaDoc {
110         Java2HtmlCommandline.createCommandlineConversion(arguments);
111       }
112     });
113   }
114
115   /* ------------------ Misc --------------- */
116
117   public void testUnsupportedArgumentThrowsException() {
118     assertIsIllegalCommandLineArguments(new String JavaDoc[]{ "-anUnsupportedArgument" });
119     assertIsIllegalCommandLineArguments(new String JavaDoc[]{ "-srcfile" });
120     assertIsIllegalCommandLineArguments(new String JavaDoc[]{ "-srcfile", "d:/src/test.java", "-filemask", "*.txt" });
121     assertIsIllegalCommandLineArguments(new String JavaDoc[]{
122         "-srcfile",
123         "d:/src/test.java",
124         "-copytotargetunprocessedfiles" });
125     assertIsIllegalCommandLineArguments(new String JavaDoc[]{
126         "-srcdir",
127         "d:/src",
128         "-copytotargetunprocessedfiles",
129         "true" });
130     assertIsIllegalCommandLineArguments(new String JavaDoc[]{
131         "-srcdir",
132         "d:/src",
133         "-copytotargetunprocessedfiles",
134         "-anything" });
135   }
136
137   private static void assertIsIllegalCommandLineArguments(final String JavaDoc[] arguments) {
138     assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() {
139       public void execute() throws Exception JavaDoc {
140         Java2HtmlCommandline.createCommandlineConversion(arguments);
141       }
142     });
143   }
144 }
Popular Tags