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 17 public class Java2HtmlCommandlineTest extends BasicTestCase { 18 19 20 21 public void testCreateDirectoryConverter() throws IllegalCommandlineParametersException { 22 String [] arguments = new String []{ "-srcdir", "d:/src" }; 23 IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments); 24 assertInstanceOf(Java2HtmlDirectoryConversion.class, conversion); 25 } 26 27 public void testCreateFileConverter() throws IllegalCommandlineParametersException { 28 String [] arguments = new String []{ "-srcfile", "d:/src/test.java" }; 29 IJava2HtmlConversion conversion = Java2HtmlCommandline.createCommandlineConversion(arguments); 30 assertInstanceOf(Java2HtmlFileConversion.class, conversion); 31 } 32 33 34 35 public void testHtmlIsDefaultConverter() throws IllegalCommandlineParametersException { 36 String [] arguments = new String []{ "-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 [] arguments = new String []{ "-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 [] arguments = new String []{ "-srcfile", "d:/src/test.java", "-converter", "UnknownConverterName" }; 49 assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() { 50 public void execute() throws Exception { 51 Java2HtmlCommandline.createCommandlineConversion(arguments); 52 } 53 }); 54 } 55 56 57 public void testUsesCorrectDefaultStyle() throws IllegalCommandlineParametersException { 58 String [] arguments = new String []{ "-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 [] arguments = new String []{ "-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 [] arguments = new String []{ "-srcfile", "d:/src/test.java", "-style", "UnknownStyleName" }; 74 assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() { 75 public void execute() throws Exception { 76 Java2HtmlCommandline.createCommandlineConversion(arguments); 77 } 78 }); 79 } 80 81 82 83 public void testUsesDefaultTabs() throws IllegalCommandlineParametersException { 84 String [] arguments = new String []{ "-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 [] arguments = new String []{ "-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 [] arguments = new String []{ "-srcfile", "d:/src/test.java", "-tabs", "illegal" }; 99 assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() { 100 public void execute() throws Exception { 101 Java2HtmlCommandline.createCommandlineConversion(arguments); 102 } 103 }); 104 } 105 106 public void testNegativeTabsThrowsException() { 107 final String [] arguments = new String []{ "-srcfile", "d:/src/test.java", "-tabs", "-3" }; 108 assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() { 109 public void execute() throws Exception { 110 Java2HtmlCommandline.createCommandlineConversion(arguments); 111 } 112 }); 113 } 114 115 116 117 public void testUnsupportedArgumentThrowsException() { 118 assertIsIllegalCommandLineArguments(new String []{ "-anUnsupportedArgument" }); 119 assertIsIllegalCommandLineArguments(new String []{ "-srcfile" }); 120 assertIsIllegalCommandLineArguments(new String []{ "-srcfile", "d:/src/test.java", "-filemask", "*.txt" }); 121 assertIsIllegalCommandLineArguments(new String []{ 122 "-srcfile", 123 "d:/src/test.java", 124 "-copytotargetunprocessedfiles" }); 125 assertIsIllegalCommandLineArguments(new String []{ 126 "-srcdir", 127 "d:/src", 128 "-copytotargetunprocessedfiles", 129 "true" }); 130 assertIsIllegalCommandLineArguments(new String []{ 131 "-srcdir", 132 "d:/src", 133 "-copytotargetunprocessedfiles", 134 "-anything" }); 135 } 136 137 private static void assertIsIllegalCommandLineArguments(final String [] arguments) { 138 assertThrowsException(IllegalCommandlineParametersException.class, new IBlock() { 139 public void execute() throws Exception { 140 Java2HtmlCommandline.createCommandlineConversion(arguments); 141 } 142 }); 143 } 144 } | Popular Tags |