langtools/test/jdk/javadoc/doclet/testModules/TestModules.java
changeset 42823 58864b03c7b9
parent 42816 3638773ff1b0
parent 42822 a84956e7ee4d
child 42831 feff6f296019
equal deleted inserted replaced
42821:e5eee1c92be0 42823:58864b03c7b9
    43      */
    43      */
    44     @Test
    44     @Test
    45     void testHtml4() {
    45     void testHtml4() {
    46         javadoc("-d", "out", "-use",
    46         javadoc("-d", "out", "-use",
    47                 "--module-source-path", testSrc,
    47                 "--module-source-path", testSrc,
    48                 "--add-modules", "module1,module2",
    48                 "--add-modules", "moduleA,moduleB",
    49                 "testpkgmdl1", "testpkgmdl2");
    49                 "testpkgmdlA", "testpkgmdlB");
    50         checkExit(Exit.OK);
    50         checkExit(Exit.OK);
    51         checkDescription(true);
    51         checkDescription(true);
    52         checkNoDescription(false);
    52         checkNoDescription(false);
    53         checkOverviewSummaryModules();
    53         checkOverviewSummaryModules();
    54         checkModuleLink();
    54         checkModuleLink();
    64      */
    64      */
    65     @Test
    65     @Test
    66     void testHtml5() {
    66     void testHtml5() {
    67         javadoc("-d", "out-html5", "-html5", "-use",
    67         javadoc("-d", "out-html5", "-html5", "-use",
    68                 "--module-source-path", testSrc,
    68                 "--module-source-path", testSrc,
    69                 "--add-modules", "module1,module2",
    69                 "--add-modules", "moduleA,moduleB",
    70                 "testpkgmdl1", "testpkgmdl2");
    70                 "testpkgmdlA", "testpkgmdlB");
    71         checkExit(Exit.OK);
    71         checkExit(Exit.OK);
    72         checkHtml5Description(true);
    72         checkHtml5Description(true);
    73         checkHtml5NoDescription(false);
    73         checkHtml5NoDescription(false);
    74         checkHtml5OverviewSummaryModules();
    74         checkHtml5OverviewSummaryModules();
    75         checkModuleLink();
    75         checkModuleLink();
    85      */
    85      */
    86     @Test
    86     @Test
    87     void testHtml4NoComment() {
    87     void testHtml4NoComment() {
    88         javadoc("-d", "out-nocomment", "-nocomment", "-use",
    88         javadoc("-d", "out-nocomment", "-nocomment", "-use",
    89                 "--module-source-path", testSrc,
    89                 "--module-source-path", testSrc,
    90                 "--add-modules", "module1,module2",
    90                 "--add-modules", "moduleA,moduleB",
    91                 "testpkgmdl1", "testpkgmdl2");
    91                 "testpkgmdlA", "testpkgmdlB");
    92         checkExit(Exit.OK);
    92         checkExit(Exit.OK);
    93         checkDescription(false);
    93         checkDescription(false);
    94         checkNoDescription(true);
    94         checkNoDescription(true);
    95         checkModuleLink();
    95         checkModuleLink();
    96         checkModuleFilesAndLinks(true);
    96         checkModuleFilesAndLinks(true);
   102      */
   102      */
   103     @Test
   103     @Test
   104     void testHtml5NoComment() {
   104     void testHtml5NoComment() {
   105         javadoc("-d", "out-html5-nocomment", "-nocomment", "-html5", "-use",
   105         javadoc("-d", "out-html5-nocomment", "-nocomment", "-html5", "-use",
   106                 "--module-source-path", testSrc,
   106                 "--module-source-path", testSrc,
   107                 "--add-modules", "module1,module2",
   107                 "--add-modules", "moduleA,moduleB",
   108                 "testpkgmdl1", "testpkgmdl2");
   108                 "testpkgmdlA", "testpkgmdlB");
   109         checkExit(Exit.OK);
   109         checkExit(Exit.OK);
   110         checkHtml5Description(false);
   110         checkHtml5Description(false);
   111         checkHtml5NoDescription(true);
   111         checkHtml5NoDescription(true);
   112         checkModuleLink();
   112         checkModuleLink();
   113         checkModuleFilesAndLinks(true);
   113         checkModuleFilesAndLinks(true);
   152     void testJDTagsInModules() {
   152     void testJDTagsInModules() {
   153         javadoc("-d", "out-mdltags", "-author", "-version",
   153         javadoc("-d", "out-mdltags", "-author", "-version",
   154                 "-tag", "regular:a:Regular Tag:",
   154                 "-tag", "regular:a:Regular Tag:",
   155                 "-tag", "moduletag:s:Module Tag:",
   155                 "-tag", "moduletag:s:Module Tag:",
   156                 "--module-source-path", testSrc,
   156                 "--module-source-path", testSrc,
   157                 "--add-modules", "moduletags,module2",
   157                 "--add-modules", "moduletags,moduleB",
   158                 "testpkgmdltags", "testpkgmdl2");
   158                 "testpkgmdltags", "testpkgmdlB");
   159         checkExit(Exit.OK);
   159         checkExit(Exit.OK);
   160         checkModuleTags();
   160         checkModuleTags();
   161     }
   161     }
   162 
   162 
   163     /**
   163     /**
   165      */
   165      */
   166     @Test
   166     @Test
   167     void testModuleSummary() {
   167     void testModuleSummary() {
   168         javadoc("-d", "out-moduleSummary", "-use",
   168         javadoc("-d", "out-moduleSummary", "-use",
   169                 "--module-source-path", testSrc,
   169                 "--module-source-path", testSrc,
   170                 "--add-modules", "module1,module2",
   170                 "--add-modules", "moduleA,moduleB",
   171                 "testpkgmdl1", "testpkgmdl2", "module2/testpkg2mdl2");
   171                 "testpkgmdlA", "testpkgmdlB", "moduleB/testpkg2mdlB");
   172         checkExit(Exit.OK);
   172         checkExit(Exit.OK);
   173         checkModuleSummary();
   173         checkModuleSummary();
   174         checkNegatedModuleSummary();
   174         checkNegatedModuleSummary();
   175     }
   175     }
   176 
   176 
   179      */
   179      */
   180     @Test
   180     @Test
   181     void testModuleFilesAndLinks() {
   181     void testModuleFilesAndLinks() {
   182         javadoc("-d", "out-modulelinks",
   182         javadoc("-d", "out-modulelinks",
   183                 "--module-source-path", testSrc,
   183                 "--module-source-path", testSrc,
   184                 "--add-modules", "module1",
   184                 "--add-modules", "moduleA",
   185                 "testpkgmdl1");
   185                 "testpkgmdlA");
   186         checkExit(Exit.OK);
   186         checkExit(Exit.OK);
   187         checkModuleFilesAndLinks(true);
   187         checkModuleFilesAndLinks(true);
   188         checkNegatedOverviewFrame();
   188         checkNegatedOverviewFrame();
   189     }
   189     }
   190 
   190 
   195     void testModuleDeprecation() {
   195     void testModuleDeprecation() {
   196         javadoc("-d", "out-moduledepr",
   196         javadoc("-d", "out-moduledepr",
   197                 "-tag", "regular:a:Regular Tag:",
   197                 "-tag", "regular:a:Regular Tag:",
   198                 "-tag", "moduletag:s:Module Tag:",
   198                 "-tag", "moduletag:s:Module Tag:",
   199                 "--module-source-path", testSrc,
   199                 "--module-source-path", testSrc,
   200                 "--module", "module1,module2,moduletags",
   200                 "--module", "moduleA,moduleB,moduletags",
   201                 "testpkgmdl1", "testpkgmdl2", "testpkgmdltags");
   201                 "testpkgmdlA", "testpkgmdlB", "testpkgmdltags");
   202         checkExit(Exit.OK);
   202         checkExit(Exit.OK);
   203         checkModuleDeprecation(true);
   203         checkModuleDeprecation(true);
   204     }
   204     }
   205 
   205 
   206     /**
   206     /**
   208      */
   208      */
   209     @Test
   209     @Test
   210     void testModuleAnnotation() {
   210     void testModuleAnnotation() {
   211         javadoc("-d", "out-moduleanno",
   211         javadoc("-d", "out-moduleanno",
   212                 "--module-source-path", testSrc,
   212                 "--module-source-path", testSrc,
   213                 "--module", "module1,module2",
   213                 "--module", "moduleA,moduleB",
   214                 "testpkgmdl1", "testpkgmdl2");
   214                 "testpkgmdlA", "testpkgmdlB");
   215         checkExit(Exit.OK);
   215         checkExit(Exit.OK);
   216         checkModuleAnnotation();
   216         checkModuleAnnotation();
   217     }
   217     }
   218 
   218 
   219     void checkDescription(boolean found) {
   219     void checkDescription(boolean found) {
   220         checkOutput("module1-summary.html", found,
   220         checkOutput("moduleA-summary.html", found,
   221                 "<!-- ============ MODULE DESCRIPTION =========== -->\n"
   221                 "<!-- ============ MODULE DESCRIPTION =========== -->\n"
   222                 + "<a name=\"module.description\">\n"
   222                 + "<a name=\"module.description\">\n"
   223                 + "<!--   -->\n"
   223                 + "<!--   -->\n"
   224                 + "</a>\n"
   224                 + "</a>\n"
   225                 + "<div class=\"block\">This is a test description for the module1 module. Search "
   225                 + "<div class=\"block\">This is a test description for the moduleA module. Search "
   226                 + "phrase <a id=\"searchphrase\">search phrase</a>.</div>");
   226                 + "phrase <a id=\"searchphrase\">search phrase</a>.</div>");
   227         checkOutput("module2-summary.html", found,
   227         checkOutput("moduleB-summary.html", found,
   228                 "<!-- ============ MODULE DESCRIPTION =========== -->\n"
   228                 "<!-- ============ MODULE DESCRIPTION =========== -->\n"
   229                 + "<a name=\"module.description\">\n"
   229                 + "<a name=\"module.description\">\n"
   230                 + "<!--   -->\n"
   230                 + "<!--   -->\n"
   231                 + "</a>\n"
   231                 + "</a>\n"
   232                 + "<div class=\"block\">This is a test description for the module2 module. Search "
   232                 + "<div class=\"block\">This is a test description for the moduleB module. Search "
   233                 + "word <a id=\"search_word\">search_word</a> with no description.</div>");
   233                 + "word <a id=\"search_word\">search_word</a> with no description.</div>");
   234     }
   234     }
   235 
   235 
   236     void checkNoDescription(boolean found) {
   236     void checkNoDescription(boolean found) {
   237         checkOutput("module1-summary.html", found,
   237         checkOutput("moduleA-summary.html", found,
   238                 "<div class=\"contentContainer\">\n"
   238                 "<div class=\"contentContainer\">\n"
   239                 + "<ul class=\"blockList\">\n"
   239                 + "<ul class=\"blockList\">\n"
   240                 + "<li class=\"blockList\">\n"
   240                 + "<li class=\"blockList\">\n"
   241                 + "<ul class=\"blockList\">\n"
   241                 + "<ul class=\"blockList\">\n"
   242                 + "<li class=\"blockList\">\n"
   242                 + "<li class=\"blockList\">\n"
   243                 + "<!-- ============ MODULES SUMMARY =========== -->");
   243                 + "<!-- ============ MODULES SUMMARY =========== -->");
   244         checkOutput("module2-summary.html", found,
   244         checkOutput("moduleB-summary.html", found,
   245                 "<div class=\"contentContainer\">\n"
   245                 "<div class=\"contentContainer\">\n"
   246                 + "<ul class=\"blockList\">\n"
   246                 + "<ul class=\"blockList\">\n"
   247                 + "<li class=\"blockList\">\n"
   247                 + "<li class=\"blockList\">\n"
   248                 + "<ul class=\"blockList\">\n"
   248                 + "<ul class=\"blockList\">\n"
   249                 + "<li class=\"blockList\">\n"
   249                 + "<li class=\"blockList\">\n"
   250                 + "<!-- ============ MODULES SUMMARY =========== -->");
   250                 + "<!-- ============ MODULES SUMMARY =========== -->");
   251     }
   251     }
   252 
   252 
   253     void checkHtml5Description(boolean found) {
   253     void checkHtml5Description(boolean found) {
   254         checkOutput("module1-summary.html", found,
   254         checkOutput("moduleA-summary.html", found,
   255                 "<section role=\"region\">\n"
   255                 "<section role=\"region\">\n"
   256                 + "<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated, for removal:"
   256                 + "<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated, for removal:"
   257                 + " This API element is subject to removal in a future version. </span>\n"
   257                 + " This API element is subject to removal in a future version. </span>\n"
   258                 + "<div class=\"block\"><span class=\"deprecationComment\">This module is deprecated.</span></div>\n"
   258                 + "<div class=\"block\"><span class=\"deprecationComment\">This module is deprecated.</span></div>\n"
   259                 + "</div>\n"
   259                 + "</div>\n"
   260                 + "<!-- ============ MODULE DESCRIPTION =========== -->\n"
   260                 + "<!-- ============ MODULE DESCRIPTION =========== -->\n"
   261                 + "<a id=\"module.description\">\n"
   261                 + "<a id=\"module.description\">\n"
   262                 + "<!--   -->\n"
   262                 + "<!--   -->\n"
   263                 + "</a>\n"
   263                 + "</a>\n"
   264                 + "<div class=\"block\">This is a test description for the module1 module. Search "
   264                 + "<div class=\"block\">This is a test description for the moduleA module. Search "
   265                 + "phrase <a id=\"searchphrase\">search phrase</a>.</div>");
   265                 + "phrase <a id=\"searchphrase\">search phrase</a>.</div>");
   266         checkOutput("module2-summary.html", found,
   266         checkOutput("moduleB-summary.html", found,
   267                 "<section role=\"region\">\n"
   267                 "<section role=\"region\">\n"
   268                 + "<!-- ============ MODULE DESCRIPTION =========== -->\n"
   268                 + "<!-- ============ MODULE DESCRIPTION =========== -->\n"
   269                 + "<a id=\"module.description\">\n"
   269                 + "<a id=\"module.description\">\n"
   270                 + "<!--   -->\n"
   270                 + "<!--   -->\n"
   271                 + "</a>\n"
   271                 + "</a>\n"
   272                 + "<div class=\"block\">This is a test description for the module2 module. Search "
   272                 + "<div class=\"block\">This is a test description for the moduleB module. Search "
   273                 + "word <a id=\"search_word\">search_word</a> with no description.</div>");
   273                 + "word <a id=\"search_word\">search_word</a> with no description.</div>");
   274     }
   274     }
   275 
   275 
   276     void checkHtml5NoDescription(boolean found) {
   276     void checkHtml5NoDescription(boolean found) {
   277         checkOutput("module1-summary.html", found,
   277         checkOutput("moduleA-summary.html", found,
   278                 "<div class=\"contentContainer\">\n"
   278                 "<div class=\"contentContainer\">\n"
   279                 + "<ul class=\"blockList\">\n"
   279                 + "<ul class=\"blockList\">\n"
   280                 + "<li class=\"blockList\">\n"
   280                 + "<li class=\"blockList\">\n"
   281                 + "<ul class=\"blockList\">\n"
   281                 + "<ul class=\"blockList\">\n"
   282                 + "<li class=\"blockList\">\n"
   282                 + "<li class=\"blockList\">\n"
   283                 + "<!-- ============ MODULES SUMMARY =========== -->");
   283                 + "<!-- ============ MODULES SUMMARY =========== -->");
   284         checkOutput("module2-summary.html", found,
   284         checkOutput("moduleB-summary.html", found,
   285                 "<div class=\"contentContainer\">\n"
   285                 "<div class=\"contentContainer\">\n"
   286                 + "<ul class=\"blockList\">\n"
   286                 + "<ul class=\"blockList\">\n"
   287                 + "<li class=\"blockList\">\n"
   287                 + "<li class=\"blockList\">\n"
   288                 + "<ul class=\"blockList\">\n"
   288                 + "<ul class=\"blockList\">\n"
   289                 + "<li class=\"blockList\">\n"
   289                 + "<li class=\"blockList\">\n"
   291     }
   291     }
   292 
   292 
   293     void checkModuleLink() {
   293     void checkModuleLink() {
   294         checkOutput("overview-summary.html", true,
   294         checkOutput("overview-summary.html", true,
   295                 "<li>Module</li>");
   295                 "<li>Module</li>");
   296         checkOutput("module1-summary.html", true,
   296         checkOutput("moduleA-summary.html", true,
   297                 "<li class=\"navBarCell1Rev\">Module</li>");
   297                 "<li class=\"navBarCell1Rev\">Module</li>");
   298         checkOutput("module2-summary.html", true,
   298         checkOutput("moduleB-summary.html", true,
   299                 "<li class=\"navBarCell1Rev\">Module</li>");
   299                 "<li class=\"navBarCell1Rev\">Module</li>");
   300         checkOutput("testpkgmdl1/class-use/TestClassInModule1.html", true,
   300         checkOutput("testpkgmdlA/class-use/TestClassInModuleA.html", true,
   301                 "<li><a href=\"../../module1-summary.html\">Module</a></li>");
   301                 "<li><a href=\"../../moduleA-summary.html\">Module</a></li>");
   302         checkOutput("testpkgmdl2/package-summary.html", true,
   302         checkOutput("testpkgmdlB/package-summary.html", true,
   303                 "<li><a href=\"../module2-summary.html\">Module</a></li>");
   303                 "<li><a href=\"../moduleB-summary.html\">Module</a></li>");
   304         checkOutput("testpkgmdl2/TestClassInModule2.html", true,
   304         checkOutput("testpkgmdlB/TestClassInModuleB.html", true,
   305                 "<li><a href=\"../module2-summary.html\">Module</a></li>");
   305                 "<li><a href=\"../moduleB-summary.html\">Module</a></li>");
   306         checkOutput("testpkgmdl2/class-use/TestClassInModule2.html", true,
   306         checkOutput("testpkgmdlB/class-use/TestClassInModuleB.html", true,
   307                 "<li><a href=\"../../module2-summary.html\">Module</a></li>");
   307                 "<li><a href=\"../../moduleB-summary.html\">Module</a></li>");
   308     }
   308     }
   309 
   309 
   310     void checkNoModuleLink() {
   310     void checkNoModuleLink() {
   311         checkOutput("testpkgnomodule/package-summary.html", true,
   311         checkOutput("testpkgnomodule/package-summary.html", true,
   312                 "<ul class=\"navList\" title=\"Navigation\">\n"
   312                 "<ul class=\"navList\" title=\"Navigation\">\n"
   420                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   420                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   421                 + "</tr>");
   421                 + "</tr>");
   422     }
   422     }
   423 
   423 
   424     void checkModuleSummary() {
   424     void checkModuleSummary() {
   425         checkOutput("module1-summary.html", true,
   425         checkOutput("moduleA-summary.html", true,
   426                 "<ul class=\"subNavList\">\n"
   426                 "<ul class=\"subNavList\">\n"
   427                 + "<li>Module:&nbsp;</li>\n"
   427                 + "<li>Module:&nbsp;</li>\n"
   428                 + "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a "
   428                 + "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a "
   429                 + "href=\"#modules.summary\">Modules</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">"
   429                 + "href=\"#modules.summary\">Modules</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">"
   430                 + "Packages</a>&nbsp;|&nbsp;Services</li>\n"
   430                 + "Packages</a>&nbsp;|&nbsp;Services</li>\n"
   431                 + "</ul>");
   431                 + "</ul>");
   432         checkOutput("module1-summary.html", true,
   432         checkOutput("moduleA-summary.html", true,
   433                 "<!-- ============ MODULES SUMMARY =========== -->\n"
   433                 "<!-- ============ MODULES SUMMARY =========== -->\n"
   434                 + "<a name=\"modules.summary\">\n"
   434                 + "<a name=\"modules.summary\">\n"
   435                 + "<!--   -->\n"
   435                 + "<!--   -->\n"
   436                 + "</a>");
   436                 + "</a>");
   437         checkOutput("module1-summary.html", true,
   437         checkOutput("moduleA-summary.html", true,
   438                 "<tr class=\"altColor\">\n"
   438                 "<tr class=\"altColor\">\n"
   439                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdl1/package-summary.html\">testpkgmdl1</a></th>\n"
   439                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlA/package-summary.html\">testpkgmdlA</a></th>\n"
   440                 + "<td class=\"colSecond\">All Modules</td>\n"
   440                 + "<td class=\"colSecond\">All Modules</td>\n"
   441                 + "<td class=\"colLast\">&nbsp;</td>\n"
   441                 + "<td class=\"colLast\">&nbsp;</td>\n"
   442                 + "</tr>");
   442                 + "</tr>");
   443         checkOutput("module1-summary.html", true,
   443         checkOutput("moduleA-summary.html", true,
   444                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   444                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   445                 + "<a name=\"packages.summary\">\n"
   445                 + "<a name=\"packages.summary\">\n"
   446                 + "<!--   -->\n"
   446                 + "<!--   -->\n"
   447                 + "</a>");
   447                 + "</a>");
   448         checkOutput("module1-summary.html", true,
   448         checkOutput("moduleA-summary.html", true,
   449                 "<tr class=\"rowColor\">\n"
   449                 "<tr class=\"rowColor\">\n"
   450                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"module2-summary.html\">module2</a></th>\n"
   450                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"moduleB-summary.html\">moduleB</a></th>\n"
   451                 + "<td class=\"colLast\">\n"
   451                 + "<td class=\"colLast\">\n"
   452                 + "<div class=\"block\">This is a test description for the module2 module.</div>\n"
   452                 + "<div class=\"block\">This is a test description for the moduleB module.</div>\n"
   453                 + "</td>\n"
   453                 + "</td>\n"
   454                 + "</tr>");
   454                 + "</tr>");
   455         checkOutput("module2-summary.html", true,
   455         checkOutput("moduleB-summary.html", true,
   456                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a "
   456                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a "
   457                 + "href=\"#modules.summary\">Modules</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">"
   457                 + "href=\"#modules.summary\">Modules</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">"
   458                 + "Packages</a>&nbsp;|&nbsp;<a href=\"#services.summary\">Services</a></li>");
   458                 + "Packages</a>&nbsp;|&nbsp;<a href=\"#services.summary\">Services</a></li>");
   459         checkOutput("module2-summary.html", true,
   459         checkOutput("moduleB-summary.html", true,
   460                 "<!-- ============ MODULES SUMMARY =========== -->\n"
   460                 "<!-- ============ MODULES SUMMARY =========== -->\n"
   461                 + "<a name=\"modules.summary\">\n"
   461                 + "<a name=\"modules.summary\">\n"
   462                 + "<!--   -->\n"
   462                 + "<!--   -->\n"
   463                 + "</a>");
   463                 + "</a>");
   464         checkOutput("module2-summary.html", true,
   464         checkOutput("moduleB-summary.html", true,
   465                 "<tr class=\"rowColor\">\n"
   465                 "<tr class=\"rowColor\">\n"
   466                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkg2mdl2/package-summary.html\">"
   466                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkg2mdlB/package-summary.html\">"
   467                 + "testpkg2mdl2</a></th>\n"
   467                 + "testpkg2mdlB</a></th>\n"
   468                 + "<td class=\"colSecond\">module1</td>\n"
   468                 + "<td class=\"colSecond\">moduleA</td>\n"
   469                 + "<td class=\"colLast\">&nbsp;</td>\n"
   469                 + "<td class=\"colLast\">&nbsp;</td>\n"
   470                 + "</tr>");
   470                 + "</tr>");
   471         checkOutput("module2-summary.html", true,
   471         checkOutput("moduleB-summary.html", true,
   472                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   472                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   473                 + "<a name=\"packages.summary\">\n"
   473                 + "<a name=\"packages.summary\">\n"
   474                 + "<!--   -->\n"
   474                 + "<!--   -->\n"
   475                 + "</a>");
   475                 + "</a>");
   476         checkOutput("module2-summary.html", true,
   476         checkOutput("moduleB-summary.html", true,
   477                 "<tr class=\"altColor\">\n"
   477                 "<tr class=\"altColor\">\n"
   478                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"java.base-summary.html\">java.base</a></th>\n"
   478                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"java.base-summary.html\">java.base</a></th>\n"
   479                 + "<td class=\"colLast\">&nbsp;</td>\n"
   479                 + "<td class=\"colLast\">&nbsp;</td>\n"
   480                 + "</tr>");
   480                 + "</tr>");
   481         checkOutput("module2-summary.html", true,
   481         checkOutput("moduleB-summary.html", true,
   482                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
   482                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
   483                 + "<a name=\"services.summary\">\n"
   483                 + "<a name=\"services.summary\">\n"
   484                 + "<!--   -->\n"
   484                 + "<!--   -->\n"
   485                 + "</a>");
   485                 + "</a>");
   486         checkOutput("module2-summary.html", true,
   486         checkOutput("moduleB-summary.html", true,
   487                 "<tr class=\"altColor\">\n"
   487                 "<tr class=\"altColor\">\n"
   488                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdl2/TestClassInModule2.html\" "
   488                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlB/TestClassInModuleB.html\" "
   489                 + "title=\"class in testpkgmdl2\">TestClassInModule2</a></th>\n"
   489                 + "title=\"class in testpkgmdlB\">TestClassInModuleB</a></th>\n"
   490                 + "<td class=\"colLast\">&nbsp;</td>\n"
   490                 + "<td class=\"colLast\">&nbsp;</td>\n"
   491                 + "</tr>");
   491                 + "</tr>");
   492         checkOutput("module2-summary.html", true,
   492         checkOutput("moduleB-summary.html", true,
   493                 "<tr class=\"altColor\">\n"
   493                 "<tr class=\"altColor\">\n"
   494                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkg2mdl2/TestInterfaceInModule2.html\" "
   494                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkg2mdlB/TestInterfaceInModuleB.html\" "
   495                 + "title=\"interface in testpkg2mdl2\">TestInterfaceInModule2</a><br>"
   495                 + "title=\"interface in testpkg2mdlB\">TestInterfaceInModuleB</a><br>"
   496                 + "(<span class=\"implementationLabel\">Implementation:</span>&nbsp;"
   496                 + "(<span class=\"implementationLabel\">Implementation:</span>&nbsp;"
   497                 + "<a href=\"testpkgmdl2/TestClassInModule2.html\" title=\"class in testpkgmdl2\">"
   497                 + "<a href=\"testpkgmdlB/TestClassInModuleB.html\" title=\"class in testpkgmdlB\">"
   498                 + "TestClassInModule2</a>)</th>\n"
   498                 + "TestClassInModuleB</a>)</th>\n"
   499                 + "<td class=\"colLast\">&nbsp;</td>\n"
   499                 + "<td class=\"colLast\">&nbsp;</td>\n"
   500                 + "</tr");
   500                 + "</tr");
   501         checkOutput("module2-summary.html", true,
   501         checkOutput("moduleB-summary.html", true,
   502                 "<caption><span>Exported Packages</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   502                 "<caption><span>Exported Packages</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   503                 + "<tr>\n"
   503                 + "<tr>\n"
   504                 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
   504                 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
   505                 + "<th class=\"colSecond\" scope=\"col\">Module</th>\n"
   505                 + "<th class=\"colSecond\" scope=\"col\">Module</th>\n"
   506                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   506                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   507                 + "</tr>");
   507                 + "</tr>");
   508         checkOutput("module2-summary.html", true,
   508         checkOutput("moduleB-summary.html", true,
   509                 "<caption><span>Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   509                 "<caption><span>Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   510                 + "<tr>\n"
   510                 + "<tr>\n"
   511                 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n"
   511                 + "<th class=\"colFirst\" scope=\"col\">Module</th>\n"
   512                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   512                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   513                 + "</tr>");
   513                 + "</tr>");
   514         checkOutput("module2-summary.html", true,
   514         checkOutput("moduleB-summary.html", true,
   515                 "<caption><span>Uses</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   515                 "<caption><span>Uses</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   516                 + "<tr>\n"
   516                 + "<tr>\n"
   517                 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n"
   517                 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n"
   518                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   518                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   519                 + "</tr>");
   519                 + "</tr>");
   520         checkOutput("module2-summary.html", true,
   520         checkOutput("moduleB-summary.html", true,
   521                 "<caption><span>Provides</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   521                 "<caption><span>Provides</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   522                 + "<tr>\n"
   522                 + "<tr>\n"
   523                 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n"
   523                 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n"
   524                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   524                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   525                 + "</tr>");
   525                 + "</tr>");
   526     }
   526     }
   527 
   527 
   528     void checkNegatedModuleSummary() {
   528     void checkNegatedModuleSummary() {
   529         checkOutput("module1-summary.html", false,
   529         checkOutput("moduleA-summary.html", false,
   530                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
   530                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
   531                 + "<a name=\"services.summary\">\n"
   531                 + "<a name=\"services.summary\">\n"
   532                 + "<!--   -->\n"
   532                 + "<!--   -->\n"
   533                 + "</a>");
   533                 + "</a>");
   534     }
   534     }
   535 
   535 
   536     void checkModuleClickThroughLinks() {
   536     void checkModuleClickThroughLinks() {
   537         checkOutput("module-overview-frame.html", true,
   537         checkOutput("module-overview-frame.html", true,
   538                 "<li><a href=\"module1-frame.html\" target=\"packageListFrame\" "
   538                 "<li><a href=\"moduleA-frame.html\" target=\"packageListFrame\" "
   539                 + "onclick=\"updateModuleFrame('module1-type-frame.html','module1-summary.html');"
   539                 + "onclick=\"updateModuleFrame('moduleA-type-frame.html','moduleA-summary.html');"
   540                 + "\">module1</a></li>");
   540                 + "\">moduleA</a></li>");
   541         checkOutput("module-overview-frame.html", true,
   541         checkOutput("module-overview-frame.html", true,
   542                 "<li><a href=\"module2-frame.html\" target=\"packageListFrame\" "
   542                 "<li><a href=\"moduleB-frame.html\" target=\"packageListFrame\" "
   543                 + "onclick=\"updateModuleFrame('module2-type-frame.html','module2-summary.html');"
   543                 + "onclick=\"updateModuleFrame('moduleB-type-frame.html','moduleB-summary.html');"
   544                 + "\">module2</a></li>");
   544                 + "\">moduleB</a></li>");
   545         checkOutput("script.js", true,
   545         checkOutput("script.js", true,
   546                 "function updateModuleFrame(pFrame, cFrame)\n"
   546                 "function updateModuleFrame(pFrame, cFrame)\n"
   547                 + "{\n"
   547                 + "{\n"
   548                 + "    top.packageFrame.location = pFrame;\n"
   548                 + "    top.packageFrame.location = pFrame;\n"
   549                 + "    top.classFrame.location = cFrame;\n"
   549                 + "    top.classFrame.location = cFrame;\n"
   550                 + "}");
   550                 + "}");
   551     }
   551     }
   552 
   552 
   553     void checkModuleClickThrough(boolean found) {
   553     void checkModuleClickThrough(boolean found) {
   554         checkFiles(found,
   554         checkFiles(found,
   555                 "module1-type-frame.html",
   555                 "moduleA-type-frame.html",
   556                 "module2-type-frame.html");
   556                 "moduleB-type-frame.html");
   557     }
   557     }
   558 
   558 
   559     void checkModuleFilesAndLinks(boolean found) {
   559     void checkModuleFilesAndLinks(boolean found) {
   560         checkOutput("testpkgmdl1/package-summary.html", found,
   560         checkOutput("testpkgmdlA/package-summary.html", found,
   561                 "<li><a href=\"../module1-summary.html\">Module</a></li>");
   561                 "<li><a href=\"../moduleA-summary.html\">Module</a></li>");
   562         checkOutput("testpkgmdl1/package-summary.html", found,
   562         checkOutput("testpkgmdlA/package-summary.html", found,
   563                 "<div class=\"subTitle\"><span class=\"moduleLabelInClass\">Module</span>&nbsp;"
   563                 "<div class=\"subTitle\"><span class=\"moduleLabelInClass\">Module</span>&nbsp;"
   564                 + "<a href=\"../module1-summary.html\">module1</a></div>");
   564                 + "<a href=\"../moduleA-summary.html\">moduleA</a></div>");
   565         checkOutput("testpkgmdl1/TestClassInModule1.html", found,
   565         checkOutput("testpkgmdlA/TestClassInModuleA.html", found,
   566                 "<li><a href=\"../module1-summary.html\">Module</a></li>");
   566                 "<li><a href=\"../moduleA-summary.html\">Module</a></li>");
   567         checkOutput("testpkgmdl1/TestClassInModule1.html", found,
   567         checkOutput("testpkgmdlA/TestClassInModuleA.html", found,
   568                 "<div class=\"subTitle\"><span class=\"moduleLabelInClass\">Module</span>&nbsp;"
   568                 "<div class=\"subTitle\"><span class=\"moduleLabelInClass\">Module</span>&nbsp;"
   569                 + "<a href=\"../module1-summary.html\">module1</a></div>");
   569                 + "<a href=\"../moduleA-summary.html\">moduleA</a></div>");
   570         checkFiles(found,
   570         checkFiles(found,
   571                 "module1-frame.html",
   571                 "moduleA-frame.html",
   572                 "module1-summary.html",
   572                 "moduleA-summary.html",
   573                 "module-overview-frame.html");
   573                 "module-overview-frame.html");
   574     }
   574     }
   575 
   575 
   576     void checkModulesInSearch(boolean found) {
   576     void checkModulesInSearch(boolean found) {
   577         checkOutput("index-all.html", found,
   577         checkOutput("index-all.html", found,
   578                 "<dl>\n"
   578                 "<dl>\n"
   579                 + "<dt><a href=\"module1-summary.html\">module1</a> - module module1</dt>\n"
   579                 + "<dt><a href=\"moduleA-summary.html\">moduleA</a> - module moduleA</dt>\n"
   580                 + "<dd>\n"
   580                 + "<dd>\n"
   581                 + "<div class=\"block\">This is a test description for the module1 module.</div>\n"
   581                 + "<div class=\"block\">This is a test description for the moduleA module.</div>\n"
   582                 + "</dd>\n"
   582                 + "</dd>\n"
   583                 + "<dt><a href=\"module2-summary.html\">module2</a> - module module2</dt>\n"
   583                 + "<dt><a href=\"moduleB-summary.html\">moduleB</a> - module moduleB</dt>\n"
   584                 + "<dd>\n"
   584                 + "<dd>\n"
   585                 + "<div class=\"block\">This is a test description for the module2 module.</div>\n"
   585                 + "<div class=\"block\">This is a test description for the moduleB module.</div>\n"
   586                 + "</dd>\n"
   586                 + "</dd>\n"
   587                 + "</dl>");
   587                 + "</dl>");
   588         checkOutput("index-all.html", found,
   588         checkOutput("index-all.html", found,
   589                 "<dl>\n"
   589                 "<dl>\n"
   590                 + "<dt><span class=\"searchTagLink\"><a href=\"module1-summary.html#searchphrase\">"
   590                 + "<dt><span class=\"searchTagLink\"><a href=\"moduleA-summary.html#searchphrase\">"
   591                 + "search phrase</a></span> - Search tag in module1</dt>\n"
   591                 + "search phrase</a></span> - Search tag in moduleA</dt>\n"
   592                 + "<dd>with description</dd>\n"
   592                 + "<dd>with description</dd>\n"
   593                 + "<dt><span class=\"searchTagLink\"><a href=\"module2-summary.html#search_word\">"
   593                 + "<dt><span class=\"searchTagLink\"><a href=\"moduleB-summary.html#search_word\">"
   594                 + "search_word</a></span> - Search tag in module2</dt>\n"
   594                 + "search_word</a></span> - Search tag in moduleB</dt>\n"
   595                 + "<dd>&nbsp;</dd>\n"
   595                 + "<dd>&nbsp;</dd>\n"
   596                 + "</dl>");
   596                 + "</dl>");
   597 }
   597 }
   598 
   598 
   599     void checkModuleDeprecation(boolean found) {
   599     void checkModuleDeprecation(boolean found) {
   600         checkOutput("module1-summary.html", found,
   600         checkOutput("moduleA-summary.html", found,
   601                 "<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated, for removal:"
   601                 "<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated, for removal:"
   602                 + " This API element is subject to removal in a future version. </span>\n"
   602                 + " This API element is subject to removal in a future version. </span>\n"
   603                 + "<div class=\"block\"><span class=\"deprecationComment\">This module is deprecated.</span></div>\n"
   603                 + "<div class=\"block\"><span class=\"deprecationComment\">This module is deprecated.</span></div>\n"
   604                 + "</div>");
   604                 + "</div>");
   605         checkOutput("deprecated-list.html", found,
   605         checkOutput("deprecated-list.html", found,
   606                 "<ul>\n"
   606                 "<ul>\n"
   607                 + "<li><a href=\"#forRemoval\">Deprecated For Removal</a></li>\n"
   607                 + "<li><a href=\"#forRemoval\">Deprecated For Removal</a></li>\n"
   608                 + "<li><a href=\"#module\">Deprecated Modules</a></li>\n"
   608                 + "<li><a href=\"#module\">Deprecated Modules</a></li>\n"
   609                 + "</ul>",
   609                 + "</ul>",
   610                 "<tr class=\"altColor\">\n"
   610                 "<tr class=\"altColor\">\n"
   611                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"module1-summary.html\">module1</a></th>\n"
   611                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"moduleA-summary.html\">moduleA</a></th>\n"
   612                 + "<td class=\"colLast\">\n"
   612                 + "<td class=\"colLast\">\n"
   613                 + "<div class=\"block\"><span class=\"deprecationComment\">This module is deprecated.</span></div>\n"
   613                 + "<div class=\"block\"><span class=\"deprecationComment\">This module is deprecated.</span></div>\n"
   614                 + "</td>\n"
   614                 + "</td>\n"
   615                 + "</tr>");
   615                 + "</tr>");
   616         checkOutput("module2-summary.html", !found,
   616         checkOutput("moduleB-summary.html", !found,
   617                 "<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated.</span>\n"
   617                 "<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated.</span>\n"
   618                 + "<div class=\"block\"><span class=\"deprecationComment\">This module is deprecated using just the javadoc tag.</span></div>");
   618                 + "<div class=\"block\"><span class=\"deprecationComment\">This module is deprecated using just the javadoc tag.</span></div>");
   619         checkOutput("moduletags-summary.html", found,
   619         checkOutput("moduletags-summary.html", found,
   620                 "<p>@Deprecated\n"
   620                 "<p>@Deprecated\n"
   621                 + "</p>",
   621                 + "</p>",
   622                 "<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated.</span></div>");
   622                 "<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated.</span></div>");
   623     }
   623     }
   624 
   624 
   625     void checkModuleAnnotation() {
   625     void checkModuleAnnotation() {
   626         checkOutput("module2-summary.html", true,
   626         checkOutput("moduleB-summary.html", true,
   627                 "<p><a href=\"testpkgmdl2/AnnotationType.html\" title=\"annotation in testpkgmdl2\">@AnnotationType</a>(<a href=\"testpkgmdl2/AnnotationType.html#optional--\">optional</a>=\"Module Annotation\",\n"
   627                 "<p><a href=\"testpkgmdlB/AnnotationType.html\" title=\"annotation in testpkgmdlB\">@AnnotationType</a>(<a href=\"testpkgmdlB/AnnotationType.html#optional--\">optional</a>=\"Module Annotation\",\n"
   628                 + "                <a href=\"testpkgmdl2/AnnotationType.html#required--\">required</a>=2016)\n"
   628                 + "                <a href=\"testpkgmdlB/AnnotationType.html#required--\">required</a>=2016)\n"
   629                 + "</p>");
   629                 + "</p>");
   630         checkOutput("module2-summary.html", false,
   630         checkOutput("moduleB-summary.html", false,
   631                 "@AnnotationTypeUndocumented");
   631                 "@AnnotationTypeUndocumented");
   632 }
   632 }
   633 
   633 
   634     void checkOverviewFrame(boolean found) {
   634     void checkOverviewFrame(boolean found) {
   635         checkOutput("index.html", !found,
   635         checkOutput("index.html", !found,