1 package org.apache.maven.plugin.javadoc;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.regex.PatternSyntaxException;
23
24 import org.apache.maven.settings.Proxy;
25 import org.apache.maven.settings.Settings;
26
27 import junit.framework.TestCase;
28
29
30
31
32
33 public class JavadocUtilTest
34 extends TestCase
35 {
36
37
38
39
40
41 public void testParseJavadocVersion()
42 throws Exception
43 {
44 String version = null;
45 try
46 {
47 JavadocUtil.parseJavadocVersion( version );
48 assertTrue( "Not catch null", false );
49 }
50 catch ( IllegalArgumentException e )
51 {
52 assertTrue( true );
53 }
54
55
56 version = "java full version \"1.4.2_12-b03\"";
57 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.42f, 0 );
58
59
60 version = "java full version \"1.5.0_07-164\"";
61 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
62
63
64 version = "java full version \"J2RE 1.4.2 IBM Windows 32 build cn1420-20040626\"";
65 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.42f, 0 );
66
67
68 version = "javadoc version complète de \"J2RE 1.5.0 IBM Windows 32 build pwi32pdev-20070426a\"";
69 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
70
71
72 version = "J2RE 1.5.0 IBM Windows 32 build pwi32devifx-20070323 (ifix 117674: SR4 + 116644 + 114941 + 116110 + 114881)";
73 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
74
75
76 version = "java full version \"diablo-1.5.0-b01\"";
77 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
78
79
80 version = "java full version \"1.5.0_11-b03\"";
81 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
82
83
84 version = "java full version \"1.5.0_07-164\"" + System.getProperty( "line.separator" );
85 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
86 version = System.getProperty( "line.separator" ) + "java full version \"1.5.0_07-164\"";
87 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
88 version = System.getProperty( "line.separator" ) + "java full version \"1.5.0_07-164\""
89 + System.getProperty( "line.separator" );
90 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
91 version = "java full" + System.getProperty( "line.separator" ) + " version \"1.5.0_07-164\"";
92 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
93
94 version = "java full version \"1.99.123-b01\"";
95 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.99123f, 0 );
96
97 version = "java full version \"1.5.0.07-164\"";
98 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
99
100 version = "java full version \"1.4\"";
101 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.4f, 0 );
102
103 version = "java full version \"1.A.B_07-164\"";
104 try
105 {
106 JavadocUtil.parseJavadocVersion( version );
107 assertTrue( "Not catch wrong pattern", false );
108 }
109 catch ( PatternSyntaxException e )
110 {
111 assertTrue( true );
112 }
113
114 version = "SCO-UNIX-J2SE-1.5.0_09*FCS-UW714-OSR6*_20061114";
115 assertEquals( JavadocUtil.parseJavadocVersion( version ), 1.5f, 0 );
116 }
117
118
119
120
121
122
123 public void testParseJavadocMemory()
124 throws Exception
125 {
126 String memory = null;
127 try
128 {
129 JavadocUtil.parseJavadocMemory( memory );
130 assertTrue( "Not catch null", false );
131 }
132 catch ( IllegalArgumentException e )
133 {
134 assertTrue( true );
135 }
136
137 memory = "128";
138 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128m" );
139
140 memory = "128k";
141 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128k" );
142 memory = "128kb";
143 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128k" );
144
145 memory = "128m";
146 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128m" );
147 memory = "128mb";
148 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128m" );
149
150 memory = "1g";
151 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "1024m" );
152 memory = "1gb";
153 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "1024m" );
154
155 memory = "1t";
156 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "1048576m" );
157 memory = "1tb";
158 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "1048576m" );
159
160 memory = System.getProperty( "line.separator" ) + "128m";
161 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128m" );
162 memory = System.getProperty( "line.separator" ) + "128m" + System.getProperty( "line.separator" );
163 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128m" );
164
165 memory = " 128m";
166 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128m" );
167 memory = " 128m ";
168 assertEquals( JavadocUtil.parseJavadocMemory( memory ), "128m" );
169
170 memory = "1m28m";
171 try
172 {
173 JavadocUtil.parseJavadocMemory( memory );
174 assertTrue( "Not catch wrong pattern", false );
175 }
176 catch ( IllegalArgumentException e )
177 {
178 assertTrue( true );
179 }
180 memory = "ABC128m";
181 try
182 {
183 JavadocUtil.parseJavadocMemory( memory );
184 assertTrue( "Not catch wrong pattern", false );
185 }
186 catch ( IllegalArgumentException e )
187 {
188 assertTrue( true );
189 }
190 }
191
192
193
194
195
196
197 public void testValidateEncoding()
198 throws Exception
199 {
200 assertFalse( "Not catch null", JavadocUtil.validateEncoding( null ) );
201 assertTrue( "UTF-8 not supported on this plateform", JavadocUtil.validateEncoding( "UTF-8" ) );
202 assertTrue( "ISO-8859-1 not supported on this plateform", JavadocUtil.validateEncoding( "ISO-8859-1" ) );
203 assertFalse( "latin is supported on this plateform???", JavadocUtil.validateEncoding( "latin" ) );
204 assertFalse( "WRONG is supported on this plateform???", JavadocUtil.validateEncoding( "WRONG" ) );
205 }
206
207
208
209
210
211
212 public void testHideProxyPassword()
213 throws Exception
214 {
215 String cmdLine = "javadoc.exe " + "-J-Dhttp.proxySet=true " + "-J-Dhttp.proxyHost=http://localhost "
216 + "-J-Dhttp.proxyPort=80 " + "-J-Dhttp.nonProxyHosts=\"www.google.com|*.somewhere.com\" "
217 + "-J-Dhttp.proxyUser=\"toto\" " + "-J-Dhttp.proxyPassword=\"toto\" " + "@options @packages";
218 cmdLine = JavadocUtil.hideProxyPassword( cmdLine, null );
219 assertFalse( cmdLine.indexOf( "-J-Dhttp.proxyPassword=\"****\"" ) != -1 );
220
221 Settings settings = new Settings();
222 Proxy proxy = new Proxy();
223 proxy.setActive( true );
224 proxy.setHost( "http://localhost" );
225 proxy.setPort( 80 );
226 proxy.setUsername( "toto" );
227 proxy.setPassword( "toto" );
228 proxy.setNonProxyHosts( "www.google.com|*.somewhere.com" );
229 settings.addProxy( proxy );
230
231 cmdLine = "javadoc.exe " + "-J-Dhttp.proxySet=true " + "-J-Dhttp.proxyHost=http://localhost "
232 + "-J-Dhttp.proxyPort=80 " + "-J-Dhttp.nonProxyHosts=\"www.google.com|*.somewhere.com\" "
233 + "-J-Dhttp.proxyUser=\"toto\" " + "-J-Dhttp.proxyPassword=\"toto\" " + "@options @packages";
234 cmdLine = JavadocUtil.hideProxyPassword( cmdLine, settings );
235 assertTrue( cmdLine.indexOf( "-J-Dhttp.proxyPassword=\"****\"" ) != -1 );
236
237 settings = new Settings();
238 proxy = new Proxy();
239 proxy.setActive( true );
240 proxy.setHost( "http://localhost" );
241 proxy.setPort( 80 );
242 proxy.setUsername( "toto" );
243 proxy.setNonProxyHosts( "www.google.com|*.somewhere.com" );
244 settings.addProxy( proxy );
245
246 cmdLine = "javadoc.exe " + "-J-Dhttp.proxySet=true " + "-J-Dhttp.proxyHost=http://localhost "
247 + "-J-Dhttp.proxyPort=80 " + "-J-Dhttp.nonProxyHosts=\"www.google.com|*.somewhere.com\" "
248 + "-J-Dhttp.proxyUser=\"toto\" " + "-J-Dhttp.proxyPassword=\"toto\" " + "@options @packages";
249 cmdLine = JavadocUtil.hideProxyPassword( cmdLine, null );
250 assertFalse( cmdLine.indexOf( "-J-Dhttp.proxyPassword=\"****\"" ) != -1 );
251 }
252 }