25 * @test 26 * @bug 8154119 8154262 8156077 8157987 8154261 8154817 27 * @summary Test modules support in javadoc. 28 * @author bpatel 29 * @library ../lib 30 * @modules jdk.javadoc/jdk.javadoc.internal.tool 31 * @build JavadocTester 32 * @run main TestModules 33 */ 34 35 public class TestModules extends JavadocTester { 36 37 public static void main(String... args) throws Exception { 38 TestModules tester = new TestModules(); 39 tester.runTests(); 40 } 41 42 @Test 43 void test1() { 44 javadoc("-d", "out", "-use", 45 "-modulesourcepath", testSrc, 46 "-addmods", "module1,module2", 47 "testpkgmdl1", "testpkgmdl2"); 48 checkExit(Exit.OK); 49 testDescription(true); 50 testNoDescription(false); 51 testOverviewSummaryModules(); 52 testModuleLink(); 53 testModuleClickThroughLinks(); 54 testModuleClickThrough(true); 55 } 56 57 @Test 58 void test2() { 59 javadoc("-d", "out-html5", "-html5", "-use", 60 "-modulesourcepath", testSrc, 61 "-addmods", "module1,module2", 62 "testpkgmdl1", "testpkgmdl2"); 63 checkExit(Exit.OK); 64 testHtml5Description(true); 65 testHtml5NoDescription(false); 66 testHtml5OverviewSummaryModules(); 67 testModuleLink(); 68 testModuleClickThroughLinks(); 69 testModuleClickThrough(true); 70 } 71 72 @Test 73 void test3() { 74 javadoc("-d", "out-nocomment", "-nocomment", "-use", 75 "-modulesourcepath", testSrc, 76 "-addmods", "module1,module2", 77 "testpkgmdl1", "testpkgmdl2"); 78 checkExit(Exit.OK); 79 testDescription(false); 80 testNoDescription(true); 81 testModuleLink(); 82 } 83 84 @Test 85 void test4() { 86 javadoc("-d", "out-html5-nocomment", "-nocomment", "-html5", "-use", 87 "-modulesourcepath", testSrc, 88 "-addmods", "module1,module2", 89 "testpkgmdl1", "testpkgmdl2"); 90 checkExit(Exit.OK); 91 testHtml5Description(false); 92 testHtml5NoDescription(true); 93 testModuleLink(); 94 } 95 96 @Test 97 void test5() { 98 javadoc("-d", "out-nomodule", "-use", 99 "-sourcepath", testSrc, 100 "testpkgnomodule", "testpkgnomodule1"); 101 checkExit(Exit.OK); 102 testOverviewSummaryPackages(); 103 testModuleClickThrough(false); 104 } 105 106 @Test 107 void test6() { 108 javadoc("-d", "out-mdltags", "-author", "-version", 109 "-tag", "regular:a:Regular Tag:", 110 "-tag", "moduletag:s:Module Tag:", 111 "-modulesourcepath", testSrc, 112 "-addmods", "moduletags,module2", 113 "testpkgmdltags", "testpkgmdl2"); 114 checkExit(Exit.OK); 115 testModuleTags(); 116 } 117 118 @Test 119 void test7() { 120 javadoc("-d", "out-moduleSummary", "-use", 121 "-modulesourcepath", testSrc, 122 "-addmods", "module1,module2", 123 "testpkgmdl1", "testpkgmdl2", "testpkg2mdl2"); 124 checkExit(Exit.OK); 125 testModuleSummary(); 126 testNegatedModuleSummary(); 127 } 128 129 @Test 130 void test8() { 131 javadoc("-d", "out-html5-nomodule", "-html5", "-use", 132 "-sourcepath", testSrc, 229 "<ul class=\"navList\" title=\"Navigation\">\n" 230 + "<li><a href=\"../testpkgnomodule/package-summary.html\">Package</a></li>"); 231 checkOutput("testpkgnomodule/TestClassNoModule.html", true, 232 "<ul class=\"navList\" title=\"Navigation\">\n" 233 + "<li><a href=\"../testpkgnomodule/package-summary.html\">Package</a></li>"); 234 checkOutput("testpkgnomodule/class-use/TestClassNoModule.html", true, 235 "<ul class=\"navList\" title=\"Navigation\">\n" 236 + "<li><a href=\"../../testpkgnomodule/package-summary.html\">Package</a></li>"); 237 } 238 239 void testModuleTags() { 240 checkOutput("moduletags-summary.html", true, 241 "Type Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html\" title=\"class in " 242 + "testpkgmdltags\"><code>TestClassInModuleTags</code></a>."); 243 checkOutput("moduletags-summary.html", true, 244 "Member Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html#" 245 + "testMethod-java.lang.String-\"><code>testMethod(String)</code></a>."); 246 checkOutput("moduletags-summary.html", true, 247 "Package Link: <a href=\"testpkgmdltags/package-summary.html\"><code>testpkgmdltags</code></a>."); 248 checkOutput("moduletags-summary.html", true, 249 "<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n" 250 + "<dd>JDK 9</dd>"); 251 checkOutput("moduletags-summary.html", true, 252 "<dt><span class=\"seeLabel\">See Also:</span></dt>\n" 253 + "<dd>\"Test see tag\", \n" 254 + "<a href=\"testpkgmdltags/TestClassInModuleTags.html\" title=\"class in testpkgmdltags\"><code>" 255 + "TestClassInModuleTags</code></a></dd>"); 256 checkOutput("moduletags-summary.html", true, 257 "<dt><span class=\"simpleTagLabel\">Regular Tag:</span></dt>\n" 258 + "<dd>Just a regular simple tag.</dd>"); 259 checkOutput("moduletags-summary.html", true, 260 "<dt><span class=\"simpleTagLabel\">Module Tag:</span></dt>\n" 261 + "<dd>Just a simple module tag.</dd>"); 262 checkOutput("moduletags-summary.html", true, 263 "<dt><span class=\"simpleTagLabel\">Version:</span></dt>\n" 264 + "<dd>1.0</dd>"); 265 checkOutput("moduletags-summary.html", true, 266 "<dt><span class=\"simpleTagLabel\">Author:</span></dt>\n" 267 + "<dd>Bhavesh Patel</dd>"); 268 checkOutput("testpkgmdltags/TestClassInModuleTags.html", false, 269 "<dt><span class=\"simpleTagLabel\">Module Tag:</span></dt>\n" 270 + "<dd>Just a simple module tag.</dd>"); 271 } 272 273 void testOverviewSummaryModules() { 274 checkOutput("overview-summary.html", true, 275 "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n" 276 + "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n" 277 + "<tr>\n" 278 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 279 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 280 + "</tr>"); 281 checkOutput("overview-summary.html", false, 282 "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n" 283 + "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n" 284 + "<tr>\n" 285 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 286 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 287 + "</tr>"); 288 } 289 290 void testOverviewSummaryPackages() { 291 checkOutput("overview-summary.html", false, 292 "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n" 293 + "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n" 294 + "<tr>\n" 295 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 296 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 297 + "</tr>"); 298 checkOutput("overview-summary.html", true, 299 "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n" 300 + "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n" 301 + "<tr>\n" 302 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 303 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 304 + "</tr>"); 305 } 306 307 void testHtml5OverviewSummaryModules() { 308 checkOutput("overview-summary.html", true, 309 "<table class=\"overviewSummary\">\n" 310 + "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n" 311 + "<tr>\n" 312 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 313 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 314 + "</tr>"); 315 checkOutput("overview-summary.html", false, 316 "<table class=\"overviewSummary\">\n" 317 + "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n" 318 + "<tr>\n" 319 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 320 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 321 + "</tr>"); 322 } 323 324 void testHtml5OverviewSummaryPackages() { 325 checkOutput("overview-summary.html", false, 326 "<table class=\"overviewSummary\">\n" 327 + "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n" 328 + "<tr>\n" 329 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 330 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 331 + "</tr>"); 332 checkOutput("overview-summary.html", true, 333 "<table class=\"overviewSummary\">\n" 334 + "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n" 335 + "<tr>\n" 336 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 337 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 338 + "</tr>"); 339 } 340 341 void testModuleSummary() { 342 checkOutput("module1-summary.html", true, 343 "<ul class=\"subNavList\">\n" 344 + "<li>Module: </li>\n" 345 + "<li><a href=\"#module.description\">Description</a> | <a " 346 + "href=\"#modules.summary\">Modules</a> | <a href=\"#packages.summary\">" 347 + "Packages</a> | Services</li>\n" 348 + "</ul>"); 349 checkOutput("module1-summary.html", true, 350 "<!-- ============ MODULES SUMMARY =========== -->\n" 351 + "<a name=\"modules.summary\">\n" 352 + "<!-- -->\n" 353 + "</a>"); 354 checkOutput("module1-summary.html", true, 397 checkOutput("module2-summary.html", true, 398 "<!-- ============ SERVICES SUMMARY =========== -->\n" 399 + "<a name=\"services.summary\">\n" 400 + "<!-- -->\n" 401 + "</a>"); 402 checkOutput("module2-summary.html", true, 403 "<tr class=\"altColor\">\n" 404 + "<td class=\"colFirst\"><a href=\"testpkgmdl2/TestClassInModule2.html\" " 405 + "title=\"class in testpkgmdl2\">TestClassInModule2</a></td>\n" 406 + "<td class=\"colLast\"> </td>\n" 407 + "</tr>"); 408 checkOutput("module2-summary.html", true, 409 "<tr class=\"altColor\">\n" 410 + "<td class=\"colFirst\">testpkg2mdl2.TestInterfaceInModule2<br>(<span " 411 + "class=\"implementationLabel\">Implementation:</span> <a " 412 + "href=\"testpkgmdl2/TestClassInModule2.html\" title=\"class in testpkgmdl2\">" 413 + "TestClassInModule2</a>)</td>\n" 414 + "<td class=\"colLast\"> </td>\n" 415 + "</tr"); 416 checkOutput("module2-summary.html", true, 417 "<caption><span>Exported Packages</span><span class=\"tabEnd\"> </span></caption>\n" 418 + "<tr>\n" 419 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 420 + "<th scope=\"col\">Module</th>\n" 421 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 422 + "</tr>"); 423 checkOutput("module2-summary.html", true, 424 "<caption><span>Requires</span><span class=\"tabEnd\"> </span></caption>\n" 425 + "<tr>\n" 426 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 427 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 428 + "</tr>"); 429 checkOutput("module2-summary.html", true, 430 "<caption><span>Uses</span><span class=\"tabEnd\"> </span></caption>\n" 431 + "<tr>\n" 432 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n" 433 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 434 + "</tr>"); 435 checkOutput("module2-summary.html", true, 436 "<caption><span>Provides</span><span class=\"tabEnd\"> </span></caption>\n" 437 + "<tr>\n" 438 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n" 439 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 440 + "</tr>"); 441 } 442 443 void testNegatedModuleSummary() { 444 checkOutput("module1-summary.html", false, 445 "<!-- ============ SERVICES SUMMARY =========== -->\n" 446 + "<a name=\"services.summary\">\n" 447 + "<!-- -->\n" 448 + "</a>"); 449 } 450 451 void testModuleClickThroughLinks() { 452 checkOutput("module-overview-frame.html", true, 453 "<li><a href=\"module1-frame.html\" target=\"packageListFrame\" " 454 + "onclick=\"updateModuleFrame('module1-type-frame.html','module1-summary.html');" 455 + "\">module1</a></li>"); 456 checkOutput("module-overview-frame.html", true, | 25 * @test 26 * @bug 8154119 8154262 8156077 8157987 8154261 8154817 27 * @summary Test modules support in javadoc. 28 * @author bpatel 29 * @library ../lib 30 * @modules jdk.javadoc/jdk.javadoc.internal.tool 31 * @build JavadocTester 32 * @run main TestModules 33 */ 34 35 public class TestModules extends JavadocTester { 36 37 public static void main(String... args) throws Exception { 38 TestModules tester = new TestModules(); 39 tester.runTests(); 40 } 41 42 @Test 43 void test1() { 44 javadoc("-d", "out", "-use", 45 "--module-source-path", testSrc, 46 "--add-modules", "module1,module2", 47 "testpkgmdl1", "testpkgmdl2"); 48 checkExit(Exit.OK); 49 testDescription(true); 50 testNoDescription(false); 51 testOverviewSummaryModules(); 52 testModuleLink(); 53 testModuleClickThroughLinks(); 54 testModuleClickThrough(true); 55 } 56 57 @Test 58 void test2() { 59 javadoc("-d", "out-html5", "-html5", "-use", 60 "--module-source-path", testSrc, 61 "--add-modules", "module1,module2", 62 "testpkgmdl1", "testpkgmdl2"); 63 checkExit(Exit.OK); 64 testHtml5Description(true); 65 testHtml5NoDescription(false); 66 testHtml5OverviewSummaryModules(); 67 testModuleLink(); 68 testModuleClickThroughLinks(); 69 testModuleClickThrough(true); 70 } 71 72 @Test 73 void test3() { 74 javadoc("-d", "out-nocomment", "-nocomment", "-use", 75 "--module-source-path", testSrc, 76 "--add-modules", "module1,module2", 77 "testpkgmdl1", "testpkgmdl2"); 78 checkExit(Exit.OK); 79 testDescription(false); 80 testNoDescription(true); 81 testModuleLink(); 82 } 83 84 @Test 85 void test4() { 86 javadoc("-d", "out-html5-nocomment", "-nocomment", "-html5", "-use", 87 "--module-source-path", testSrc, 88 "--add-modules", "module1,module2", 89 "testpkgmdl1", "testpkgmdl2"); 90 checkExit(Exit.OK); 91 testHtml5Description(false); 92 testHtml5NoDescription(true); 93 testModuleLink(); 94 } 95 96 @Test 97 void test5() { 98 javadoc("-d", "out-nomodule", "-use", 99 "-sourcepath", testSrc, 100 "testpkgnomodule", "testpkgnomodule1"); 101 checkExit(Exit.OK); 102 testOverviewSummaryPackages(); 103 testModuleClickThrough(false); 104 } 105 106 @Test 107 void test6() { 108 javadoc("-d", "out-mdltags", "-author", "-version", 109 "-tag", "regular:a:Regular Tag:", 110 "-tag", "moduletag:s:Module Tag:", 111 "--module-source-path", testSrc, 112 "--add-modules", "moduletags,module2", 113 "testpkgmdltags", "testpkgmdl2"); 114 checkExit(Exit.OK); 115 testModuleTags(); 116 } 117 118 @Test 119 void test7() { 120 javadoc("-d", "out-moduleSummary", "-use", 121 "-modulesourcepath", testSrc, 122 "-addmods", "module1,module2", 123 "testpkgmdl1", "testpkgmdl2", "testpkg2mdl2"); 124 checkExit(Exit.OK); 125 testModuleSummary(); 126 testNegatedModuleSummary(); 127 } 128 129 @Test 130 void test8() { 131 javadoc("-d", "out-html5-nomodule", "-html5", "-use", 132 "-sourcepath", testSrc, 229 "<ul class=\"navList\" title=\"Navigation\">\n" 230 + "<li><a href=\"../testpkgnomodule/package-summary.html\">Package</a></li>"); 231 checkOutput("testpkgnomodule/TestClassNoModule.html", true, 232 "<ul class=\"navList\" title=\"Navigation\">\n" 233 + "<li><a href=\"../testpkgnomodule/package-summary.html\">Package</a></li>"); 234 checkOutput("testpkgnomodule/class-use/TestClassNoModule.html", true, 235 "<ul class=\"navList\" title=\"Navigation\">\n" 236 + "<li><a href=\"../../testpkgnomodule/package-summary.html\">Package</a></li>"); 237 } 238 239 void testModuleTags() { 240 checkOutput("moduletags-summary.html", true, 241 "Type Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html\" title=\"class in " 242 + "testpkgmdltags\"><code>TestClassInModuleTags</code></a>."); 243 checkOutput("moduletags-summary.html", true, 244 "Member Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html#" 245 + "testMethod-java.lang.String-\"><code>testMethod(String)</code></a>."); 246 checkOutput("moduletags-summary.html", true, 247 "Package Link: <a href=\"testpkgmdltags/package-summary.html\"><code>testpkgmdltags</code></a>."); 248 checkOutput("moduletags-summary.html", true, 249 "<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n" 250 + "<dd>JDK 9</dd>"); 251 checkOutput("moduletags-summary.html", true, 252 "<dt><span class=\"seeLabel\">See Also:</span></dt>\n" 253 + "<dd>\"Test see tag\", \n" 254 + "<a href=\"testpkgmdltags/TestClassInModuleTags.html\" title=\"class in testpkgmdltags\"><code>" 255 + "TestClassInModuleTags</code></a></dd>"); 256 checkOutput("moduletags-summary.html", true, 257 "<dt><span class=\"simpleTagLabel\">Regular Tag:</span></dt>\n" 258 + "<dd>Just a regular simple tag.</dd>"); 259 checkOutput("moduletags-summary.html", true, 260 "<dt><span class=\"simpleTagLabel\">Module Tag:</span></dt>\n" 261 + "<dd>Just a simple module tag.</dd>"); 262 checkOutput("moduletags-summary.html", true, 263 "<dt><span class=\"simpleTagLabel\">Version:</span></dt>\n" 264 + "<dd>1.0</dd>"); 265 checkOutput("moduletags-summary.html", true, 266 "<dt><span class=\"simpleTagLabel\">Author:</span></dt>\n" 267 + "<dd>Bhavesh Patel</dd>"); 268 checkOutput("testpkgmdltags/TestClassInModuleTags.html", false, 269 "<dt><span class=\"simpleTagLabel\">Module Tag:</span></dt>\n" 270 + "<dd>Just a simple module tag.</dd>"); 271 } 272 273 void testOverviewSummaryModules() { 274 checkOutput("overview-summary.html", true, 275 "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n" 276 + "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n" 277 + "<tr>\n" 278 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 279 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 280 + "</tr>"); 281 checkOutput("overview-summary.html", false, 282 "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n" 283 + "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n" 284 + "<tr>\n" 285 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 286 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 287 + "</tr>"); 288 } 289 290 void testOverviewSummaryPackages() { 291 checkOutput("overview-summary.html", false, 292 "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n" 293 + "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n" 294 + "<tr>\n" 295 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 296 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 297 + "</tr>"); 298 checkOutput("overview-summary.html", true, 299 "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n" 300 + "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n" 301 + "<tr>\n" 302 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 303 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 304 + "</tr>"); 305 } 306 307 void testHtml5OverviewSummaryModules() { 308 checkOutput("overview-summary.html", true, 309 "<table class=\"overviewSummary\">\n" 310 + "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n" 311 + "<tr>\n" 312 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 313 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 314 + "</tr>"); 315 checkOutput("overview-summary.html", false, 316 "<table class=\"overviewSummary\">\n" 317 + "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n" 318 + "<tr>\n" 319 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 320 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 321 + "</tr>"); 322 } 323 324 void testHtml5OverviewSummaryPackages() { 325 checkOutput("overview-summary.html", false, 326 "<table class=\"overviewSummary\">\n" 327 + "<caption><span>Modules</span><span class=\"tabEnd\"> </span></caption>\n" 328 + "<tr>\n" 329 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 330 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 331 + "</tr>"); 332 checkOutput("overview-summary.html", true, 333 "<table class=\"overviewSummary\">\n" 334 + "<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>\n" 335 + "<tr>\n" 336 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 337 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 338 + "</tr>"); 339 } 340 341 void testModuleSummary() { 342 checkOutput("module1-summary.html", true, 343 "<ul class=\"subNavList\">\n" 344 + "<li>Module: </li>\n" 345 + "<li><a href=\"#module.description\">Description</a> | <a " 346 + "href=\"#modules.summary\">Modules</a> | <a href=\"#packages.summary\">" 347 + "Packages</a> | Services</li>\n" 348 + "</ul>"); 349 checkOutput("module1-summary.html", true, 350 "<!-- ============ MODULES SUMMARY =========== -->\n" 351 + "<a name=\"modules.summary\">\n" 352 + "<!-- -->\n" 353 + "</a>"); 354 checkOutput("module1-summary.html", true, 397 checkOutput("module2-summary.html", true, 398 "<!-- ============ SERVICES SUMMARY =========== -->\n" 399 + "<a name=\"services.summary\">\n" 400 + "<!-- -->\n" 401 + "</a>"); 402 checkOutput("module2-summary.html", true, 403 "<tr class=\"altColor\">\n" 404 + "<td class=\"colFirst\"><a href=\"testpkgmdl2/TestClassInModule2.html\" " 405 + "title=\"class in testpkgmdl2\">TestClassInModule2</a></td>\n" 406 + "<td class=\"colLast\"> </td>\n" 407 + "</tr>"); 408 checkOutput("module2-summary.html", true, 409 "<tr class=\"altColor\">\n" 410 + "<td class=\"colFirst\">testpkg2mdl2.TestInterfaceInModule2<br>(<span " 411 + "class=\"implementationLabel\">Implementation:</span> <a " 412 + "href=\"testpkgmdl2/TestClassInModule2.html\" title=\"class in testpkgmdl2\">" 413 + "TestClassInModule2</a>)</td>\n" 414 + "<td class=\"colLast\"> </td>\n" 415 + "</tr"); 416 checkOutput("module2-summary.html", true, 417 "<caption><span>Exported Packages</span><span class=\"tabEnd\"> </span></caption>\n" 418 + "<tr>\n" 419 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n" 420 + "<th scope=\"col\">Module</th>\n" 421 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 422 + "</tr>"); 423 checkOutput("module2-summary.html", true, 424 "<caption><span>Requires</span><span class=\"tabEnd\"> </span></caption>\n" 425 + "<tr>\n" 426 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n" 427 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 428 + "</tr>"); 429 checkOutput("module2-summary.html", true, 430 "<caption><span>Uses</span><span class=\"tabEnd\"> </span></caption>\n" 431 + "<tr>\n" 432 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n" 433 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 434 + "</tr>"); 435 checkOutput("module2-summary.html", true, 436 "<caption><span>Provides</span><span class=\"tabEnd\"> </span></caption>\n" 437 + "<tr>\n" 438 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n" 439 + "<th class=\"colLast\" scope=\"col\">Description</th>\n" 440 + "</tr>"); 441 } 442 443 void testNegatedModuleSummary() { 444 checkOutput("module1-summary.html", false, 445 "<!-- ============ SERVICES SUMMARY =========== -->\n" 446 + "<a name=\"services.summary\">\n" 447 + "<!-- -->\n" 448 + "</a>"); 449 } 450 451 void testModuleClickThroughLinks() { 452 checkOutput("module-overview-frame.html", true, 453 "<li><a href=\"module1-frame.html\" target=\"packageListFrame\" " 454 + "onclick=\"updateModuleFrame('module1-type-frame.html','module1-summary.html');" 455 + "\">module1</a></li>"); 456 checkOutput("module-overview-frame.html", true, |