test/langtools/jdk/javadoc/doclet/testModules/TestModules.java
changeset 49139 771616d26ca1
parent 48759 ffa68af7da87
child 49551 0d4786e42471
equal deleted inserted replaced
49138:67912cbf784a 49139:771616d26ca1
    24 /*
    24 /*
    25  * @test
    25  * @test
    26  * @bug 8154119 8154262 8156077 8157987 8154261 8154817 8135291 8155995 8162363
    26  * @bug 8154119 8154262 8156077 8157987 8154261 8154817 8135291 8155995 8162363
    27  *      8168766 8168688 8162674 8160196 8175799 8174974 8176778 8177562 8175218
    27  *      8168766 8168688 8162674 8160196 8175799 8174974 8176778 8177562 8175218
    28  *      8175823 8166306 8178043 8181622 8183511 8169819 8074407 8183037 8191464
    28  *      8175823 8166306 8178043 8181622 8183511 8169819 8074407 8183037 8191464
    29         8164407 8192007
    29         8164407 8192007 8182765
    30  * @summary Test modules support in javadoc.
    30  * @summary Test modules support in javadoc.
    31  * @author bpatel
    31  * @author bpatel
    32  * @library ../lib
    32  * @library ../lib
    33  * @modules jdk.javadoc/jdk.javadoc.internal.tool
    33  * @modules jdk.javadoc/jdk.javadoc.internal.tool
    34  * @build JavadocTester
    34  * @build JavadocTester
    44     /**
    44     /**
    45      * Test generated module pages for HTML 4.
    45      * Test generated module pages for HTML 4.
    46      */
    46      */
    47     @Test
    47     @Test
    48     void testHtml4() {
    48     void testHtml4() {
    49         javadoc("-d", "out", "-use", "-Xdoclint:none",
    49         javadoc("-d", "out",
       
    50                 "-html4",
       
    51                 "-use",
       
    52                 "-Xdoclint:none",
    50                 "-overview", testSrc("overview.html"),
    53                 "-overview", testSrc("overview.html"),
    51                 "--module-source-path", testSrc,
    54                 "--module-source-path", testSrc,
    52                 "--module", "moduleA,moduleB",
    55                 "--module", "moduleA,moduleB",
    53                 "testpkgmdlA", "testpkgmdlB");
    56                 "testpkgmdlA", "testpkgmdlB");
    54         checkExit(Exit.OK);
    57         checkExit(Exit.OK);
    66     /**
    69     /**
    67      * Test generated module pages for HTML 5.
    70      * Test generated module pages for HTML 5.
    68      */
    71      */
    69     @Test
    72     @Test
    70     void testHtml5() {
    73     void testHtml5() {
    71         javadoc("-d", "out-html5", "-html5", "-use", "-Xdoclint:none",
    74         javadoc("-d", "out-html5",
       
    75                 "-use",
       
    76                 "-Xdoclint:none",
    72                 "-overview", testSrc("overview.html"),
    77                 "-overview", testSrc("overview.html"),
    73                 "--module-source-path", testSrc,
    78                 "--module-source-path", testSrc,
    74                 "--module", "moduleA,moduleB",
    79                 "--module", "moduleA,moduleB",
    75                 "testpkgmdlA", "testpkgmdlB");
    80                 "testpkgmdlA", "testpkgmdlB");
    76         checkExit(Exit.OK);
    81         checkExit(Exit.OK);
    88     /**
    93     /**
    89      * Test generated module pages for HTML 4 with -nocomment option.
    94      * Test generated module pages for HTML 4 with -nocomment option.
    90      */
    95      */
    91     @Test
    96     @Test
    92     void testHtml4NoComment() {
    97     void testHtml4NoComment() {
    93         javadoc("-d", "out-nocomment", "-nocomment", "-use", "-Xdoclint:none",
    98         javadoc("-d", "out-nocomment",
       
    99                 "-html4",
       
   100                 "-nocomment",
       
   101                 "-use",
       
   102                 "-Xdoclint:none",
    94                 "-overview", testSrc("overview.html"),
   103                 "-overview", testSrc("overview.html"),
    95                 "--module-source-path", testSrc,
   104                 "--module-source-path", testSrc,
    96                 "--module", "moduleA,moduleB",
   105                 "--module", "moduleA,moduleB",
    97                 "testpkgmdlA", "testpkgmdlB");
   106                 "testpkgmdlA", "testpkgmdlB");
    98         checkExit(Exit.OK);
   107         checkExit(Exit.OK);
   106     /**
   115     /**
   107      * Test generated module pages for HTML 5 with -nocomment option.
   116      * Test generated module pages for HTML 5 with -nocomment option.
   108      */
   117      */
   109     @Test
   118     @Test
   110     void testHtml5NoComment() {
   119     void testHtml5NoComment() {
   111         javadoc("-d", "out-html5-nocomment", "-nocomment", "-html5", "-use", "-Xdoclint:none",
   120         javadoc("-d", "out-html5-nocomment",
       
   121                 "-nocomment",
       
   122                 "-use",
       
   123                 "-Xdoclint:none",
   112                 "-overview", testSrc("overview.html"),
   124                 "-overview", testSrc("overview.html"),
   113                 "--module-source-path", testSrc,
   125                 "--module-source-path", testSrc,
   114                 "--module", "moduleA,moduleB",
   126                 "--module", "moduleA,moduleB",
   115                 "testpkgmdlA", "testpkgmdlB");
   127                 "testpkgmdlA", "testpkgmdlB");
   116         checkExit(Exit.OK);
   128         checkExit(Exit.OK);
   124     /**
   136     /**
   125      * Test generated pages, in an unnamed module, for HTML 4.
   137      * Test generated pages, in an unnamed module, for HTML 4.
   126      */
   138      */
   127     @Test
   139     @Test
   128     void testHtml4UnnamedModule() {
   140     void testHtml4UnnamedModule() {
   129         javadoc("-d", "out-nomodule", "-use",
   141         javadoc("-d", "out-nomodule",
       
   142                 "-html4",
       
   143                 "-use",
   130                 "-overview", testSrc("overview.html"),
   144                 "-overview", testSrc("overview.html"),
   131                 "-sourcepath", testSrc,
   145                 "-sourcepath", testSrc,
   132                 "testpkgnomodule", "testpkgnomodule1");
   146                 "testpkgnomodule", "testpkgnomodule1");
   133         checkExit(Exit.OK);
   147         checkExit(Exit.OK);
   134         checkOverviewSummaryPackages();
   148         checkOverviewSummaryPackages();
   141     /**
   155     /**
   142      * Test generated pages, in an unnamed module, for HTML 5.
   156      * Test generated pages, in an unnamed module, for HTML 5.
   143      */
   157      */
   144     @Test
   158     @Test
   145     void testHtml5UnnamedModule() {
   159     void testHtml5UnnamedModule() {
   146         javadoc("-d", "out-html5-nomodule", "-html5", "-use",
   160         javadoc("-d", "out-html5-nomodule",
       
   161                 "-use",
   147                 "-overview", testSrc("overview.html"),
   162                 "-overview", testSrc("overview.html"),
   148                 "-sourcepath", testSrc,
   163                 "-sourcepath", testSrc,
   149                 "testpkgnomodule", "testpkgnomodule1");
   164                 "testpkgnomodule", "testpkgnomodule1");
   150         checkExit(Exit.OK);
   165         checkExit(Exit.OK);
   151         checkHtml5OverviewSummaryPackages();
   166         checkHtml5OverviewSummaryPackages();
   157     /**
   172     /**
   158      * Test generated module pages with javadoc tags.
   173      * Test generated module pages with javadoc tags.
   159      */
   174      */
   160     @Test
   175     @Test
   161     void testJDTagsInModules() {
   176     void testJDTagsInModules() {
   162         javadoc("-d", "out-mdltags", "-author", "-version", "-Xdoclint:none",
   177         javadoc("-d", "out-mdltags",
       
   178                 "-author",
       
   179                 "-version",
       
   180                 "-Xdoclint:none",
   163                 "-tag", "regular:a:Regular Tag:",
   181                 "-tag", "regular:a:Regular Tag:",
   164                 "-tag", "moduletag:s:Module Tag:",
   182                 "-tag", "moduletag:s:Module Tag:",
   165                 "--module-source-path", testSrc,
   183                 "--module-source-path", testSrc,
   166                 "--module", "moduletags,moduleB",
   184                 "--module", "moduletags,moduleB",
   167                 "testpkgmdltags", "testpkgmdlB");
   185                 "testpkgmdltags", "testpkgmdlB");
   168         checkExit(Exit.OK);
   186         checkExit(Exit.OK);
   169         checkModuleTags();
   187         checkModuleTags();
   170     }
   188     }
   171 
   189 
   172     /**
   190     /**
       
   191      * Test generated module pages with javadoc tags.
       
   192      */
       
   193     @Test
       
   194     void testJDTagsInModules_html4() {
       
   195         javadoc("-d", "out-mdltags-html4",
       
   196                 "-html4",
       
   197                 "-author",
       
   198                 "-version",
       
   199                 "-Xdoclint:none",
       
   200                 "-tag", "regular:a:Regular Tag:",
       
   201                 "-tag", "moduletag:s:Module Tag:",
       
   202                 "--module-source-path", testSrc,
       
   203                 "--module", "moduletags,moduleB",
       
   204                 "testpkgmdltags", "testpkgmdlB");
       
   205         checkExit(Exit.OK);
       
   206         checkModuleTags_html4();
       
   207     }
       
   208 
       
   209     /**
   173      * Test generated module summary page.
   210      * Test generated module summary page.
   174      */
   211      */
   175     @Test
   212     @Test
   176     void testModuleSummary() {
   213     void testModuleSummary() {
   177         javadoc("-d", "out-moduleSummary", "-use", "-Xdoclint:none",
   214         javadoc("-d", "out-moduleSummary",
       
   215                 "-use",
       
   216                 "-Xdoclint:none",
   178                 "--module-source-path", testSrc,
   217                 "--module-source-path", testSrc,
   179                 "--module", "moduleA,moduleB",
   218                 "--module", "moduleA,moduleB",
   180                 "testpkgmdlA", "testpkgmdlB", "moduleB/testpkg2mdlB");
   219                 "testpkgmdlA", "testpkgmdlB", "moduleB/testpkg2mdlB");
   181         checkExit(Exit.OK);
   220         checkExit(Exit.OK);
   182         checkModuleSummary();
   221         checkModuleSummary();
   183         checkNegatedModuleSummary();
   222         checkNegatedModuleSummary();
   184     }
   223     }
   185 
   224 
   186     /**
   225     /**
       
   226      * Test generated module summary page.
       
   227      */
       
   228     @Test
       
   229     void testModuleSummary_html4() {
       
   230         javadoc("-d", "out-moduleSummary-html4",
       
   231                 "-html4",
       
   232                 "-use",
       
   233                 "-Xdoclint:none",
       
   234                 "--module-source-path", testSrc,
       
   235                 "--module", "moduleA,moduleB",
       
   236                 "testpkgmdlA", "testpkgmdlB", "moduleB/testpkg2mdlB");
       
   237         checkExit(Exit.OK);
       
   238         checkModuleSummary_html4();
       
   239         checkNegatedModuleSummary_html4();
       
   240     }
       
   241 
       
   242     /**
   187      * Test generated module summary page of an aggregating module.
   243      * Test generated module summary page of an aggregating module.
   188      */
   244      */
   189     @Test
   245     @Test
   190     void testAggregatorModuleSummary() {
   246     void testAggregatorModuleSummary() {
   191         javadoc("-d", "out-aggregatorModuleSummary", "-use",
   247         javadoc("-d", "out-aggregatorModuleSummary",
       
   248                 "-use",
   192                 "--module-source-path", testSrc,
   249                 "--module-source-path", testSrc,
   193                 "--expand-requires", "transitive",
   250                 "--expand-requires", "transitive",
   194                 "--module", "moduleT");
   251                 "--module", "moduleT");
   195         checkExit(Exit.OK);
   252         checkExit(Exit.OK);
   196         checkAggregatorModuleSummary();
   253         checkAggregatorModuleSummary();
   199     /**
   256     /**
   200      * Test generated module pages and pages with link to modules.
   257      * Test generated module pages and pages with link to modules.
   201      */
   258      */
   202     @Test
   259     @Test
   203     void testModuleFilesAndLinks() {
   260     void testModuleFilesAndLinks() {
   204         javadoc("-d", "out-modulelinks", "-Xdoclint:none",
   261         javadoc("-d", "out-modulelinks",
       
   262                 "-Xdoclint:none",
   205                 "--module-source-path", testSrc,
   263                 "--module-source-path", testSrc,
   206                 "--module", "moduleA,moduleB",
   264                 "--module", "moduleA,moduleB",
   207                 "testpkgmdlA", "testpkgmdlB");
   265                 "testpkgmdlA", "testpkgmdlB");
   208         checkExit(Exit.OK);
   266         checkExit(Exit.OK);
   209         checkModuleFilesAndLinks(true);
   267         checkModuleFilesAndLinks(true);
   213     /**
   271     /**
   214      * Test generated module pages for a deprecated module.
   272      * Test generated module pages for a deprecated module.
   215      */
   273      */
   216     @Test
   274     @Test
   217     void testModuleDeprecation() {
   275     void testModuleDeprecation() {
   218         javadoc("-d", "out-moduledepr", "-Xdoclint:none",
   276         javadoc("-d", "out-moduledepr",
       
   277                 "-Xdoclint:none",
   219                 "-tag", "regular:a:Regular Tag:",
   278                 "-tag", "regular:a:Regular Tag:",
   220                 "-tag", "moduletag:s:Module Tag:",
   279                 "-tag", "moduletag:s:Module Tag:",
   221                 "--module-source-path", testSrc,
   280                 "--module-source-path", testSrc,
   222                 "--module", "moduleA,moduleB,moduletags",
   281                 "--module", "moduleA,moduleB,moduletags",
   223                 "testpkgmdlA", "testpkgmdlB", "testpkgmdltags");
   282                 "testpkgmdlA", "testpkgmdlB", "testpkgmdltags");
   228     /**
   287     /**
   229      * Test annotations on modules.
   288      * Test annotations on modules.
   230      */
   289      */
   231     @Test
   290     @Test
   232     void testModuleAnnotation() {
   291     void testModuleAnnotation() {
   233         javadoc("-d", "out-moduleanno", "-Xdoclint:none",
   292         javadoc("-d", "out-moduleanno",
       
   293                 "-Xdoclint:none",
   234                 "--module-source-path", testSrc,
   294                 "--module-source-path", testSrc,
   235                 "--module", "moduleA,moduleB",
   295                 "--module", "moduleA,moduleB",
   236                 "testpkgmdlA", "testpkgmdlB");
   296                 "testpkgmdlA", "testpkgmdlB");
   237         checkExit(Exit.OK);
   297         checkExit(Exit.OK);
   238         checkModuleAnnotation();
   298         checkModuleAnnotation();
   239     }
   299     }
   240 
   300 
   241     /**
   301     /**
       
   302      * Test annotations on modules.
       
   303      */
       
   304     @Test
       
   305     void testModuleAnnotation_html4() {
       
   306         javadoc("-d", "out-moduleanno-html4",
       
   307                 "-html4",
       
   308                 "-Xdoclint:none",
       
   309                 "--module-source-path", testSrc,
       
   310                 "--module", "moduleA,moduleB",
       
   311                 "testpkgmdlA", "testpkgmdlB");
       
   312         checkExit(Exit.OK);
       
   313         checkModuleAnnotation_html4();
       
   314     }
       
   315 
       
   316     /**
   242      * Test module summary pages in "api" mode.
   317      * Test module summary pages in "api" mode.
   243      */
   318      */
   244     @Test
   319     @Test
   245     void testApiMode() {
   320     void testApiMode() {
   246         javadoc("-d", "out-api", "-use", "--show-module-contents=api", "-author", "-version", "-Xdoclint:none",
   321         javadoc("-d", "out-api",
       
   322                 "-use",
       
   323                 "--show-module-contents=api",
       
   324                 "-author",
       
   325                 "-version",
       
   326                 "-Xdoclint:none",
   247                 "-tag", "regular:a:Regular Tag:",
   327                 "-tag", "regular:a:Regular Tag:",
   248                 "-tag", "moduletag:s:Module Tag:",
   328                 "-tag", "moduletag:s:Module Tag:",
   249                 "--module-source-path", testSrc,
   329                 "--module-source-path", testSrc,
   250                 "--module", "moduleA,moduleB,moduleC,moduletags",
   330                 "--module", "moduleA,moduleB,moduleC,moduletags",
   251                 "testpkgmdlA", "moduleA/concealedpkgmdlA", "testpkgmdlB", "testpkg2mdlB", "testpkgmdlC", "testpkgmdltags");
   331                 "testpkgmdlA", "moduleA/concealedpkgmdlA", "testpkgmdlB", "testpkg2mdlB", "testpkgmdlC", "testpkgmdltags");
   260     /**
   340     /**
   261      * Test module summary pages in "all" mode.
   341      * Test module summary pages in "all" mode.
   262      */
   342      */
   263     @Test
   343     @Test
   264     void testAllMode() {
   344     void testAllMode() {
   265         javadoc("-d", "out-all", "-use", "--show-module-contents=all", "-author", "-version", "-Xdoclint:none",
   345         javadoc("-d", "out-all",
       
   346                 "-use",
       
   347                 "--show-module-contents=all",
       
   348                 "-author",
       
   349                 "-version",
       
   350                 "-Xdoclint:none",
   266                 "-tag", "regular:a:Regular Tag:",
   351                 "-tag", "regular:a:Regular Tag:",
   267                 "-tag", "moduletag:s:Module Tag:",
   352                 "-tag", "moduletag:s:Module Tag:",
   268                 "--module-source-path", testSrc,
   353                 "--module-source-path", testSrc,
   269                 "--module", "moduleA,moduleB,moduleC,moduletags",
   354                 "--module", "moduleA,moduleB,moduleC,moduletags",
   270                 "testpkgmdlA", "moduleA/concealedpkgmdlA", "testpkgmdlB", "testpkg2mdlB", "testpkgmdlC", "testpkgmdltags");
   355                 "testpkgmdlA", "moduleA/concealedpkgmdlA", "testpkgmdlB", "testpkg2mdlB", "testpkgmdlC", "testpkgmdltags");
   275         checkModuleFrameFiles(true);
   360         checkModuleFrameFiles(true);
   276         checkAllModulesLink(true);
   361         checkAllModulesLink(true);
   277     }
   362     }
   278 
   363 
   279     /**
   364     /**
       
   365      * Test module summary pages in "all" mode.
       
   366      */
       
   367     @Test
       
   368     void testAllModeHtml4() {
       
   369         javadoc("-d", "out-all-html4",
       
   370                 "-html4",
       
   371                 "-use",
       
   372                 "--show-module-contents=all",
       
   373                 "-author",
       
   374                 "-version",
       
   375                 "-Xdoclint:none",
       
   376                 "-tag", "regular:a:Regular Tag:",
       
   377                 "-tag", "moduletag:s:Module Tag:",
       
   378                 "--module-source-path", testSrc,
       
   379                 "--module", "moduleA,moduleB,moduleC,moduletags",
       
   380                 "testpkgmdlA", "moduleA/concealedpkgmdlA", "testpkgmdlB", "testpkg2mdlB", "testpkgmdlC", "testpkgmdltags");
       
   381         checkExit(Exit.OK);
       
   382         checkModuleModeCommon_html4();
       
   383         checkModuleModeApi_html4(false);
       
   384     }
       
   385 
       
   386     /**
   280      * Test generated module summary page of a module with no exported package.
   387      * Test generated module summary page of a module with no exported package.
   281      */
   388      */
   282     @Test
   389     @Test
   283     void testModuleSummaryNoExportedPkgAll() {
   390     void testModuleSummaryNoExportedPkgAll() {
   284         javadoc("-d", "out-ModuleSummaryNoExportedPkgAll", "-use", "--show-module-contents=all",
   391         javadoc("-d", "out-ModuleSummaryNoExportedPkgAll",
       
   392                 "-use",
       
   393                 "--show-module-contents=all",
   285                 "-sourcepath", testSrc + "/moduleNoExport",
   394                 "-sourcepath", testSrc + "/moduleNoExport",
   286                 "--module", "moduleNoExport",
   395                 "--module", "moduleNoExport",
   287                 "testpkgmdlNoExport");
   396                 "testpkgmdlNoExport");
   288         checkExit(Exit.OK);
   397         checkExit(Exit.OK);
   289         checkModuleSummaryNoExported(true);
   398         checkModuleSummaryNoExported(true);
   291 
   400 
   292     /**
   401     /**
   293      * Test generated module summary page of a module with no exported package.
   402      * Test generated module summary page of a module with no exported package.
   294      */
   403      */
   295     @Test
   404     @Test
   296     void testModuleSummaryNoExportedPkgApi() {
   405     void testModuleSummaryNoExportedPkgAll_html4() {
   297         javadoc("-d", "out-ModuleSummaryNoExportedPkgApi", "-use",
   406         javadoc("-d", "out-ModuleSummaryNoExportedPkgAll-html4",
       
   407                 "-html4",
       
   408                 "-use",
       
   409                 "--show-module-contents=all",
   298                 "-sourcepath", testSrc + "/moduleNoExport",
   410                 "-sourcepath", testSrc + "/moduleNoExport",
   299                 "--module", "moduleNoExport",
   411                 "--module", "moduleNoExport",
   300                 "testpkgmdlNoExport");
   412                 "testpkgmdlNoExport");
   301         checkExit(Exit.OK);
   413         checkExit(Exit.OK);
       
   414         checkModuleSummaryNoExported_html4(true);
       
   415     }
       
   416 
       
   417     /**
       
   418      * Test generated module summary page of a module with no exported package.
       
   419      */
       
   420     @Test
       
   421     void testModuleSummaryNoExportedPkgApi() {
       
   422         javadoc("-d", "out-ModuleSummaryNoExportedPkgApi",
       
   423                 "-use",
       
   424                 "-sourcepath", testSrc + "/moduleNoExport",
       
   425                 "--module", "moduleNoExport",
       
   426                 "testpkgmdlNoExport");
       
   427         checkExit(Exit.OK);
   302         checkModuleSummaryNoExported(false);
   428         checkModuleSummaryNoExported(false);
       
   429     }
       
   430 
       
   431     /**
       
   432      * Test generated module summary page of a module with no exported package.
       
   433      */
       
   434     @Test
       
   435     void testModuleSummaryNoExportedPkgApi_html4() {
       
   436         javadoc("-d", "out-ModuleSummaryNoExportedPkgApi-html4",
       
   437                 "-html4",
       
   438                 "-use",
       
   439                 "-sourcepath", testSrc + "/moduleNoExport",
       
   440                 "--module", "moduleNoExport",
       
   441                 "testpkgmdlNoExport");
       
   442         checkExit(Exit.OK);
       
   443         checkModuleSummaryNoExported_html4(false);
   303     }
   444     }
   304 
   445 
   305     /**
   446     /**
   306      * Test generated module pages for javadoc run for a single module having a single package.
   447      * Test generated module pages for javadoc run for a single module having a single package.
   307      */
   448      */
   318     /**
   459     /**
   319      * Test generated module pages for javadoc run for a single module having multiple packages.
   460      * Test generated module pages for javadoc run for a single module having multiple packages.
   320      */
   461      */
   321     @Test
   462     @Test
   322     void testSingleModuleMultiplePkg() {
   463     void testSingleModuleMultiplePkg() {
   323         javadoc("-d", "out-singlemodmultiplepkg", "--show-module-contents=all", "-Xdoclint:none",
   464         javadoc("-d", "out-singlemodmultiplepkg",
       
   465                 "--show-module-contents=all",
       
   466                 "-Xdoclint:none",
   324                 "--module-source-path", testSrc,
   467                 "--module-source-path", testSrc,
   325                 "--module", "moduleB",
   468                 "--module", "moduleB",
   326                 "testpkg2mdlB", "testpkgmdlB");
   469                 "testpkg2mdlB", "testpkgmdlB");
   327         checkExit(Exit.OK);
   470         checkExit(Exit.OK);
   328         checkAllModulesLink(false);
   471         checkAllModulesLink(false);
   331     /**
   474     /**
   332      * Test -group option for modules. The overview-summary.html page should group the modules accordingly.
   475      * Test -group option for modules. The overview-summary.html page should group the modules accordingly.
   333      */
   476      */
   334     @Test
   477     @Test
   335     void testGroupOption() {
   478     void testGroupOption() {
   336         javadoc("-d", "out-group", "--show-module-contents=all", "-Xdoclint:none",
   479         javadoc("-d", "out-group",
       
   480                 "--show-module-contents=all",
       
   481                 "-Xdoclint:none",
   337                 "-tag", "regular:a:Regular Tag:",
   482                 "-tag", "regular:a:Regular Tag:",
   338                 "-tag", "moduletag:s:Module Tag:",
   483                 "-tag", "moduletag:s:Module Tag:",
   339                 "--module-source-path", testSrc,
   484                 "--module-source-path", testSrc,
   340                 "-group", "Module Group A", "moduleA*",
   485                 "-group", "Module Group A", "moduleA*",
   341                 "-group", "Module Group B & C", "moduleB*:moduleC*",
   486                 "-group", "Module Group B & C", "moduleB*:moduleC*",
   346         checkExit(Exit.OK);
   491         checkExit(Exit.OK);
   347         checkGroupOption();
   492         checkGroupOption();
   348     }
   493     }
   349 
   494 
   350     /**
   495     /**
       
   496      * Test -group option for modules. The overview-summary.html page should group the modules accordingly.
       
   497      */
       
   498     @Test
       
   499     void testGroupOption_html4() {
       
   500         javadoc("-d", "out-group-html4",
       
   501                 "-html4",
       
   502                 "--show-module-contents=all",
       
   503                 "-Xdoclint:none",
       
   504                 "-tag", "regular:a:Regular Tag:",
       
   505                 "-tag", "moduletag:s:Module Tag:",
       
   506                 "--module-source-path", testSrc,
       
   507                 "-group", "Module Group A", "moduleA*",
       
   508                 "-group", "Module Group B & C", "moduleB*:moduleC*",
       
   509                 "-group", "Java SE Modules", "java*",
       
   510                 "--module", "moduleA,moduleB,moduleC,moduletags",
       
   511                 "moduleA/concealedpkgmdlA", "testpkgmdlA", "testpkg2mdlB", "testpkgmdlB", "testpkgmdlC",
       
   512                 "testpkgmdltags");
       
   513         checkExit(Exit.OK);
       
   514         checkGroupOption_html4();
       
   515     }
       
   516 
       
   517     /**
   351      * Test -group option for modules and the ordering of module groups.
   518      * Test -group option for modules and the ordering of module groups.
   352      * The overview-summary.html page should group the modules accordingly and display the group tabs in
   519      * The overview-summary.html page should group the modules accordingly and display the group tabs in
   353      * the order it was provided on the command-line.
   520      * the order it was provided on the command-line.
   354      */
   521      */
   355     @Test
   522     @Test
   356     void testGroupOptionOrdering() {
   523     void testGroupOptionOrdering() {
   357         javadoc("-d", "out-groupOrder", "--show-module-contents=all", "-Xdoclint:none",
   524         javadoc("-d", "out-groupOrder",
       
   525                 "--show-module-contents=all",
       
   526                 "-Xdoclint:none",
   358                 "-tag", "regular:a:Regular Tag:",
   527                 "-tag", "regular:a:Regular Tag:",
   359                 "-tag", "moduletag:s:Module Tag:",
   528                 "-tag", "moduletag:s:Module Tag:",
   360                 "--module-source-path", testSrc,
   529                 "--module-source-path", testSrc,
   361                 "-group", "B Group", "moduleB*",
   530                 "-group", "B Group", "moduleB*",
   362                 "-group", "C Group", "moduleC*",
   531                 "-group", "C Group", "moduleC*",
   372     /**
   541     /**
   373      * Test -group option for unnamed modules. The overview-summary.html page should group the packages accordingly.
   542      * Test -group option for unnamed modules. The overview-summary.html page should group the packages accordingly.
   374      */
   543      */
   375     @Test
   544     @Test
   376     void testUnnamedModuleGroupOption() {
   545     void testUnnamedModuleGroupOption() {
   377         javadoc("-d", "out-groupnomodule", "-use", "-Xdoclint:none",
   546         javadoc("-d", "out-groupnomodule",
       
   547                 "-use",
       
   548                 "-Xdoclint:none",
   378                 "-overview", testSrc("overview.html"),
   549                 "-overview", testSrc("overview.html"),
   379                 "-sourcepath", testSrc,
   550                 "-sourcepath", testSrc,
   380                 "-group", "Package Group 0", "testpkgnomodule",
   551                 "-group", "Package Group 0", "testpkgnomodule",
   381                 "-group", "Package Group 1", "testpkgnomodule1",
   552                 "-group", "Package Group 1", "testpkgnomodule1",
   382                 "testpkgnomodule", "testpkgnomodule1");
   553                 "testpkgnomodule", "testpkgnomodule1");
   383         checkExit(Exit.OK);
   554         checkExit(Exit.OK);
   384         checkUnnamedModuleGroupOption();
   555         checkUnnamedModuleGroupOption();
   385     }
   556     }
   386 
   557 
   387     /**
   558     /**
       
   559      * Test -group option for unnamed modules. The overview-summary.html page should group the packages accordingly.
       
   560      */
       
   561     @Test
       
   562     void testUnnamedModuleGroupOption_html4() {
       
   563         javadoc("-d", "out-groupnomodule-html4",
       
   564                 "-html4",
       
   565                 "-use",
       
   566                 "-Xdoclint:none",
       
   567                 "-overview", testSrc("overview.html"),
       
   568                 "-sourcepath", testSrc,
       
   569                 "-group", "Package Group 0", "testpkgnomodule",
       
   570                 "-group", "Package Group 1", "testpkgnomodule1",
       
   571                 "testpkgnomodule", "testpkgnomodule1");
       
   572         checkExit(Exit.OK);
       
   573         checkUnnamedModuleGroupOption_html4();
       
   574     }
       
   575 
       
   576     /**
   388      * Test -group option for unnamed modules and the ordering of package groups.
   577      * Test -group option for unnamed modules and the ordering of package groups.
   389      * The overview-summary.html page should group the packages accordingly and display the group tabs in
   578      * The overview-summary.html page should group the packages accordingly and display the group tabs in
   390      * the order it was provided on the command-line.
   579      * the order it was provided on the command-line.
   391      */
   580      */
   392     @Test
   581     @Test
   393     void testGroupOptionPackageOrdering() {
   582     void testGroupOptionPackageOrdering() {
   394         javadoc("-d", "out-groupPkgOrder", "-use", "-Xdoclint:none",
   583         javadoc("-d", "out-groupPkgOrder",
       
   584                 "-use",
       
   585                 "-Xdoclint:none",
   395                 "-overview", testSrc("overview.html"),
   586                 "-overview", testSrc("overview.html"),
   396                 "-sourcepath", testSrc,
   587                 "-sourcepath", testSrc,
   397                 "-group", "Z Group", "testpkgnomodule",
   588                 "-group", "Z Group", "testpkgnomodule",
   398                 "-group", "A Group", "testpkgnomodule1",
   589                 "-group", "A Group", "testpkgnomodule1",
   399                 "testpkgnomodule", "testpkgnomodule1");
   590                 "testpkgnomodule", "testpkgnomodule1");
   404     /**
   595     /**
   405      * Test -group option for a single module.
   596      * Test -group option for a single module.
   406      */
   597      */
   407     @Test
   598     @Test
   408     void testGroupOptionSingleModule() {
   599     void testGroupOptionSingleModule() {
   409         javadoc("-d", "out-groupsinglemodule", "-use", "-Xdoclint:none",
   600         javadoc("-d", "out-groupsinglemodule",
       
   601                 "-use",
       
   602                 "-Xdoclint:none",
   410                 "--module-source-path", testSrc,
   603                 "--module-source-path", testSrc,
   411                 "-group", "Module Group B", "moduleB*",
   604                 "-group", "Module Group B", "moduleB*",
   412                 "--module", "moduleB",
   605                 "--module", "moduleB",
   413                 "testpkg2mdlB", "testpkgmdlB");
   606                 "testpkg2mdlB", "testpkgmdlB");
   414         checkExit(Exit.OK);
   607         checkExit(Exit.OK);
   417 
   610 
   418     /**
   611     /**
   419      * Test -group option for a single module.
   612      * Test -group option for a single module.
   420      */
   613      */
   421     @Test
   614     @Test
       
   615     void testGroupOptionSingleModule_html4() {
       
   616         javadoc("-d", "out-groupsinglemodule-html4",
       
   617                 "-html4",
       
   618                 "-use",
       
   619                 "-Xdoclint:none",
       
   620                 "--module-source-path", testSrc,
       
   621                 "-group", "Module Group B", "moduleB*",
       
   622                 "--module", "moduleB",
       
   623                 "testpkg2mdlB", "testpkgmdlB");
       
   624         checkExit(Exit.OK);
       
   625         checkGroupOptionSingleModule_html4();
       
   626     }
       
   627 
       
   628     /**
       
   629      * Test -group option for a single module.
       
   630      */
       
   631     @Test
   422     void testModuleName() {
   632     void testModuleName() {
   423         javadoc("-d", "out-modulename", "-use", "-Xdoclint:none",
   633         javadoc("-d", "out-modulename",
       
   634                 "-use",
       
   635                 "-Xdoclint:none",
   424                 "--module-source-path", testSrc,
   636                 "--module-source-path", testSrc,
   425                 "--module", "moduleB,test.moduleFullName",
   637                 "--module", "moduleB,test.moduleFullName",
   426                 "testpkg2mdlB", "testpkgmdlB", "testpkgmdlfullname");
   638                 "testpkg2mdlB", "testpkgmdlB", "testpkgmdlfullname");
   427         checkExit(Exit.OK);
   639         checkExit(Exit.OK);
   428         checkModuleName(true);
   640         checkModuleName(true);
   432      * Test -linkoffline option.
   644      * Test -linkoffline option.
   433      */
   645      */
   434     @Test
   646     @Test
   435     void testLinkOffline() {
   647     void testLinkOffline() {
   436         String url = "https://docs.oracle.com/javase/9/docs/api/";
   648         String url = "https://docs.oracle.com/javase/9/docs/api/";
   437         javadoc("-d", "out-linkoffline", "-use", "--show-module-contents=all", "-Xdoclint:none",
   649         javadoc("-d", "out-linkoffline",
       
   650                 "-use",
       
   651                 "--show-module-contents=all",
       
   652                 "-Xdoclint:none",
   438                 "--module-source-path", testSrc,
   653                 "--module-source-path", testSrc,
   439                 "--module", "moduleA,moduleB",
   654                 "--module", "moduleA,moduleB",
   440                 "-linkoffline", url, testSrc + "/jdk",
   655                 "-linkoffline", url, testSrc + "/jdk",
   441                 "testpkgmdlA", "testpkgmdlB", "testpkg3mdlB");
   656                 "testpkgmdlA", "testpkgmdlB", "testpkg3mdlB");
   442         checkExit(Exit.OK);
   657         checkExit(Exit.OK);
   587     void checkModuleTags() {
   802     void checkModuleTags() {
   588         checkOutput("moduletags/module-summary.html", true,
   803         checkOutput("moduletags/module-summary.html", true,
   589                 "Type Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html\" title=\"class in "
   804                 "Type Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html\" title=\"class in "
   590                 + "testpkgmdltags\"><code>TestClassInModuleTags</code></a>.",
   805                 + "testpkgmdltags\"><code>TestClassInModuleTags</code></a>.",
   591                 "Member Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html#"
   806                 "Member Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html#"
   592                 + "testMethod-java.lang.String-\"><code>testMethod(String)</code></a>.",
   807                 + "testMethod(java.lang.String)\"><code>testMethod(String)</code></a>.",
   593                 "Package Link: <a href=\"testpkgmdltags/package-summary.html\"><code>testpkgmdltags</code></a>.",
   808                 "Package Link: <a href=\"testpkgmdltags/package-summary.html\"><code>testpkgmdltags</code></a>.",
   594                 "<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n"
   809                 "<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n"
   595                 + "<dd>JDK 9</dd>",
   810                 + "<dd>JDK 9</dd>",
   596                 "<dt><span class=\"seeLabel\">See Also:</span></dt>\n"
   811                 "<dt><span class=\"seeLabel\">See Also:</span></dt>\n"
   597                 + "<dd>\"Test see tag\", \n"
   812                 + "<dd>\"Test see tag\", \n"
   608         checkOutput("moduletags/testpkgmdltags/TestClassInModuleTags.html", false,
   823         checkOutput("moduletags/testpkgmdltags/TestClassInModuleTags.html", false,
   609                 "<dt><span class=\"simpleTagLabel\">Module Tag:</span></dt>\n"
   824                 "<dt><span class=\"simpleTagLabel\">Module Tag:</span></dt>\n"
   610                 + "<dd>Just a simple module tag.</dd>");
   825                 + "<dd>Just a simple module tag.</dd>");
   611     }
   826     }
   612 
   827 
       
   828     void checkModuleTags_html4() {
       
   829         checkOutput("moduletags/module-summary.html", true,
       
   830                 "Member Link: <a href=\"testpkgmdltags/TestClassInModuleTags.html#"
       
   831                 + "testMethod-java.lang.String-\"><code>testMethod(String)</code></a>.");
       
   832     }
       
   833 
   613     void checkOverviewSummaryModules() {
   834     void checkOverviewSummaryModules() {
   614         checkOutput("overview-summary.html", true,
   835         checkOutput("overview-summary.html", true,
   615                 "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n"
   836                 "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n"
   616                 + "<caption><span>Modules</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   837                 + "<caption><span>Modules</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   617                 + "<tr>\n"
   838                 + "<tr>\n"
   722                 + "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a "
   943                 + "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a "
   723                 + "href=\"#modules.summary\">Modules</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">"
   944                 + "href=\"#modules.summary\">Modules</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">"
   724                 + "Packages</a>&nbsp;|&nbsp;Services</li>\n"
   945                 + "Packages</a>&nbsp;|&nbsp;Services</li>\n"
   725                 + "</ul>",
   946                 + "</ul>",
   726                 "<!-- ============ MODULES SUMMARY =========== -->\n"
   947                 "<!-- ============ MODULES SUMMARY =========== -->\n"
   727                 + "<a name=\"modules.summary\">\n"
   948                 + "<a id=\"modules.summary\">\n"
   728                 + "<!--   -->\n"
   949                 + "<!--   -->\n"
   729                 + "</a>",
   950                 + "</a>",
   730                 "<tr class=\"altColor\" id=\"i0\">\n"
   951                 "<tr class=\"altColor\" id=\"i0\">\n"
   731                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlA/package-summary.html\">testpkgmdlA</a></th>\n"
   952                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlA/package-summary.html\">testpkgmdlA</a></th>\n"
   732                 + "<td class=\"colLast\">&nbsp;</td>\n"
   953                 + "<td class=\"colLast\">&nbsp;</td>\n"
   733                 + "</tr>",
   954                 + "</tr>",
   734                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   955                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   735                 + "<a name=\"packages.summary\">\n"
   956                 + "<a id=\"packages.summary\">\n"
   736                 + "<!--   -->\n"
   957                 + "<!--   -->\n"
   737                 + "</a>",
   958                 + "</a>",
   738                 "<tr class=\"altColor\">\n"
   959                 "<tr class=\"altColor\">\n"
   739                 + "<td class=\"colFirst\">transitive</td>\n"
   960                 + "<td class=\"colFirst\">transitive</td>\n"
   740                 + "<th class=\"colSecond\" scope=\"row\"><a href=\"../moduleB/module-summary.html\">moduleB</a></th>\n"
   961                 + "<th class=\"colSecond\" scope=\"row\"><a href=\"../moduleB/module-summary.html\">moduleB</a></th>\n"
   745         checkOutput("moduleB/module-summary.html", true,
   966         checkOutput("moduleB/module-summary.html", true,
   746                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;Modules&nbsp;|&nbsp;"
   967                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;Modules&nbsp;|&nbsp;"
   747                 + "<a href=\"#packages.summary\">Packages</a>&nbsp;|&nbsp;<a href=\"#services.summary\">"
   968                 + "<a href=\"#packages.summary\">Packages</a>&nbsp;|&nbsp;<a href=\"#services.summary\">"
   748                 + "Services</a></li>",
   969                 + "Services</a></li>",
   749                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   970                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   750                 + "<a name=\"packages.summary\">\n"
   971                 + "<a id=\"packages.summary\">\n"
   751                 + "<!--   -->\n"
   972                 + "<!--   -->\n"
   752                 + "</a>",
   973                 + "</a>",
   753                 "<tr class=\"altColor\" id=\"i0\">\n"
   974                 "<tr class=\"altColor\" id=\"i0\">\n"
   754                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlB/package-summary.html\">testpkgmdlB</a></th>\n"
   975                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlB/package-summary.html\">testpkgmdlB</a></th>\n"
   755                 + "<td class=\"colLast\">&nbsp;</td>\n"
   976                 + "<td class=\"colLast\">&nbsp;</td>\n"
   756                 + "</tr>",
   977                 + "</tr>",
   757                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   978                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
   758                 + "<a name=\"packages.summary\">\n"
   979                 + "<a id=\"packages.summary\">\n"
   759                 + "<!--   -->\n"
   980                 + "<!--   -->\n"
   760                 + "</a>",
   981                 + "</a>",
   761                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
   982                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
   762                 + "<a name=\"services.summary\">\n"
   983                 + "<a id=\"services.summary\">\n"
   763                 + "<!--   -->\n"
   984                 + "<!--   -->\n"
   764                 + "</a>",
   985                 + "</a>",
   765                 "<tr class=\"altColor\">\n"
   986                 "<tr class=\"altColor\">\n"
   766                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlB/TestClassInModuleB.html\" title=\"class in testpkgmdlB\">TestClassInModuleB</a></th>\n"
   987                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlB/TestClassInModuleB.html\" title=\"class in testpkgmdlB\">TestClassInModuleB</a></th>\n"
   767                 + "<td class=\"colLast\">\n"
   988                 + "<td class=\"colLast\">\n"
   780                 "<caption><span>Provides</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
  1001                 "<caption><span>Provides</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   781                 + "<tr>\n"
  1002                 + "<tr>\n"
   782                 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n"
  1003                 + "<th class=\"colFirst\" scope=\"col\">Type</th>\n"
   783                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
  1004                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   784                 + "</tr>");
  1005                 + "</tr>");
       
  1006     }
       
  1007 
       
  1008     void checkModuleSummary_html4() {
       
  1009         checkOutput("moduleA/module-summary.html", true,
       
  1010                 "<!-- ============ MODULES SUMMARY =========== -->\n"
       
  1011                 + "<a name=\"modules.summary\">\n"
       
  1012                 + "<!--   -->\n"
       
  1013                 + "</a>",
       
  1014                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
       
  1015                 + "<a name=\"packages.summary\">\n"
       
  1016                 + "<!--   -->\n"
       
  1017                 + "</a>");
       
  1018         checkOutput("moduleB/module-summary.html", true,
       
  1019                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
       
  1020                 + "<a name=\"packages.summary\">\n"
       
  1021                 + "<!--   -->\n"
       
  1022                 + "</a>",
       
  1023                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
       
  1024                 + "<a name=\"packages.summary\">\n"
       
  1025                 + "<!--   -->\n"
       
  1026                 + "</a>",
       
  1027                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
       
  1028                 + "<a name=\"services.summary\">\n"
       
  1029                 + "<!--   -->\n"
       
  1030                 + "</a>");
   785     }
  1031     }
   786 
  1032 
   787     void checkAggregatorModuleSummary() {
  1033     void checkAggregatorModuleSummary() {
   788         checkOutput("moduleT/module-summary.html", true,
  1034         checkOutput("moduleT/module-summary.html", true,
   789                 "<div class=\"header\">\n"
  1035                 "<div class=\"header\">\n"
   810                 + "</tr>\n"
  1056                 + "</tr>\n"
   811                 + "</tbody>");
  1057                 + "</tbody>");
   812     }
  1058     }
   813 
  1059 
   814     void checkNegatedModuleSummary() {
  1060     void checkNegatedModuleSummary() {
       
  1061         checkOutput("moduleA/module-summary.html", false,
       
  1062                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
       
  1063                 + "<a id=\"services.summary\">\n"
       
  1064                 + "<!--   -->\n"
       
  1065                 + "</a>");
       
  1066     }
       
  1067 
       
  1068     void checkNegatedModuleSummary_html4() {
   815         checkOutput("moduleA/module-summary.html", false,
  1069         checkOutput("moduleA/module-summary.html", false,
   816                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
  1070                 "<!-- ============ SERVICES SUMMARY =========== -->\n"
   817                 + "<a name=\"services.summary\">\n"
  1071                 + "<a name=\"services.summary\">\n"
   818                 + "<!--   -->\n"
  1072                 + "<!--   -->\n"
   819                 + "</a>");
  1073                 + "</a>");
   920                 + "</td>",
  1174                 + "</td>",
   921                 "<th class=\"colFirst\" scope=\"row\"><a href=\"moduletags/module-summary.html\">moduletags</a></th>\n"
  1175                 "<th class=\"colFirst\" scope=\"row\"><a href=\"moduletags/module-summary.html\">moduletags</a></th>\n"
   922                 + "<td class=\"colLast\">\n"
  1176                 + "<td class=\"colLast\">\n"
   923                 + "<div class=\"block\">This is a test description for the moduletags module.<br>\n"
  1177                 + "<div class=\"block\">This is a test description for the moduletags module.<br>\n"
   924                 + " Type Link: <a href=\"moduletags/testpkgmdltags/TestClassInModuleTags.html\" title=\"class in testpkgmdltags\"><code>TestClassInModuleTags</code></a>.<br>\n"
  1178                 + " Type Link: <a href=\"moduletags/testpkgmdltags/TestClassInModuleTags.html\" title=\"class in testpkgmdltags\"><code>TestClassInModuleTags</code></a>.<br>\n"
   925                 + " Member Link: <a href=\"moduletags/testpkgmdltags/TestClassInModuleTags.html#testMethod-java.lang.String-\"><code>testMethod(String)</code></a>.<br>\n"
  1179                 + " Member Link: <a href=\"moduletags/testpkgmdltags/TestClassInModuleTags.html#testMethod(java.lang.String)\"><code>testMethod(String)</code></a>.<br>\n"
   926                 + " Package Link: <a href=\"moduletags/testpkgmdltags/package-summary.html\"><code>testpkgmdltags</code></a>.<br></div>\n"
  1180                 + " Package Link: <a href=\"moduletags/testpkgmdltags/package-summary.html\"><code>testpkgmdltags</code></a>.<br></div>\n"
   927                 + "</td>");
  1181                 + "</td>");
   928         checkOutput("moduleA/module-summary.html", true,
  1182         checkOutput("moduleA/module-summary.html", true,
   929                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a href=\"#modules.summary\">"
  1183                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a href=\"#modules.summary\">"
   930                 + "Modules</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">Packages</a>&nbsp;|&nbsp;Services</li>",
  1184                 + "Modules</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">Packages</a>&nbsp;|&nbsp;Services</li>",
   935                 + "<td class=\"colLast\">\n"
  1189                 + "<td class=\"colLast\">\n"
   936                 + "<div class=\"block\">With a test description for uses.</div>\n</td>\n");
  1190                 + "<div class=\"block\">With a test description for uses.</div>\n</td>\n");
   937         checkOutput("moduletags/module-summary.html", true,
  1191         checkOutput("moduletags/module-summary.html", true,
   938                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a href=\"#modules.summary\">Modules"
  1192                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;<a href=\"#modules.summary\">Modules"
   939                 + "</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">Packages</a>&nbsp;|&nbsp;Services</li>",
  1193                 + "</a>&nbsp;|&nbsp;<a href=\"#packages.summary\">Packages</a>&nbsp;|&nbsp;Services</li>",
   940                 "<table class=\"requiresSummary\" summary=\"Indirect Requires table, listing modules, and an explanation\">\n"
  1194                 "<table class=\"requiresSummary\">\n"
   941                 + "<caption><span>Indirect Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>",
  1195                 + "<caption><span>Indirect Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>",
   942                 "<td class=\"colFirst\">transitive</td>\n"
  1196                 "<td class=\"colFirst\">transitive</td>\n"
   943                 + "<th class=\"colSecond\" scope=\"row\"><a href=\"../moduleB/module-summary.html\">moduleB</a></th>\n"
  1197                 + "<th class=\"colSecond\" scope=\"row\"><a href=\"../moduleB/module-summary.html\">moduleB</a></th>\n"
   944                 + "<td class=\"colLast\">\n"
  1198                 + "<td class=\"colLast\">\n"
   945                 + "<div class=\"block\">This is a test description for the moduleB module.</div>\n"
  1199                 + "<div class=\"block\">This is a test description for the moduleB module.</div>\n"
   946                 + "</td>",
  1200                 + "</td>",
   947                 "<table class=\"packagesSummary\" summary=\"Indirect Exports table, listing modules, and packages\">\n"
  1201                 "<table class=\"packagesSummary\">\n"
   948                 + "<caption><span>Indirect Exports</span><span class=\"tabEnd\">&nbsp;</span></caption>",
  1202                 + "<caption><span>Indirect Exports</span><span class=\"tabEnd\">&nbsp;</span></caption>",
   949                 "<td class=\"colFirst\">transitive static</td>\n"
  1203                 "<td class=\"colFirst\">transitive static</td>\n"
   950                 + "<th class=\"colSecond\" scope=\"row\"><a href=\"../moduleA/module-summary.html\">moduleA</a></th>\n"
  1204                 + "<th class=\"colSecond\" scope=\"row\"><a href=\"../moduleA/module-summary.html\">moduleA</a></th>\n"
   951                 + "<td class=\"colLast\">\n"
  1205                 + "<td class=\"colLast\">\n"
   952                 + "<div class=\"block\">This is a test description for the moduleA module with a Search "
  1206                 + "<div class=\"block\">This is a test description for the moduleA module with a Search "
   953                 + "phrase <a id=\"searchphrase\" class=\"searchTagResult\">search phrase</a>.</div>\n"
  1207                 + "phrase <a id=\"searchphrase\" class=\"searchTagResult\">search phrase</a>.</div>\n"
   954                 + "</td>",
  1208                 + "</td>",
       
  1209                 "<table class=\"requiresSummary\">\n"
       
  1210                 + "<caption><span>Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
       
  1211                 + "<tr>\n"
       
  1212                 + "<th class=\"colFirst\" scope=\"col\">Modifier</th>\n"
       
  1213                 + "<th class=\"colSecond\" scope=\"col\">Module</th>\n"
       
  1214                 + "<th class=\"colLast\" scope=\"col\">Description</th>",
       
  1215                 "<table class=\"requiresSummary\">\n"
       
  1216                 + "<caption><span>Indirect Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
       
  1217                 + "<tr>\n"
       
  1218                 + "<th class=\"colFirst\" scope=\"col\">Modifier</th>\n"
       
  1219                 + "<th class=\"colSecond\" scope=\"col\">Module</th>\n"
       
  1220                 + "<th class=\"colLast\" scope=\"col\">Description</th>",
       
  1221                 "<table class=\"packagesSummary\">\n"
       
  1222                 + "<caption><span>Indirect Opens</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
       
  1223                 + "<tr>\n"
       
  1224                 + "<th class=\"colFirst\" scope=\"col\">From</th>\n"
       
  1225                 + "<th class=\"colLast\" scope=\"col\">Packages</th>\n"
       
  1226                 + "</tr>\n",
       
  1227                 "<th class=\"colFirst\" scope=\"row\"><a href=\"../moduleB/module-summary.html\">moduleB</a></th>\n"
       
  1228                 + "<td class=\"colLast\"><a href=\"../moduleB/testpkgmdlB/package-summary.html\">testpkgmdlB</a></td>\n");
       
  1229     }
       
  1230 
       
  1231     void checkModuleModeCommon_html4() {
       
  1232         checkOutput("overview-summary.html", true,
       
  1233                 "<th class=\"colFirst\" scope=\"row\"><a href=\"moduletags/module-summary.html\">moduletags</a></th>\n"
       
  1234                 + "<td class=\"colLast\">\n"
       
  1235                 + "<div class=\"block\">This is a test description for the moduletags module.<br>\n"
       
  1236                 + " Type Link: <a href=\"moduletags/testpkgmdltags/TestClassInModuleTags.html\" title=\"class in testpkgmdltags\"><code>TestClassInModuleTags</code></a>.<br>\n"
       
  1237                 + " Member Link: <a href=\"moduletags/testpkgmdltags/TestClassInModuleTags.html#testMethod-java.lang.String-\"><code>testMethod(String)</code></a>.<br>\n"
       
  1238                 + " Package Link: <a href=\"moduletags/testpkgmdltags/package-summary.html\"><code>testpkgmdltags</code></a>.<br></div>\n"
       
  1239                 + "</td>");
       
  1240         checkOutput("moduletags/module-summary.html", true,
       
  1241                 "<table class=\"requiresSummary\" summary=\"Indirect Requires table, listing modules, and an explanation\">\n"
       
  1242                 + "<caption><span>Indirect Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>",
       
  1243                 "<table class=\"packagesSummary\" summary=\"Indirect Exports table, listing modules, and packages\">\n"
       
  1244                 + "<caption><span>Indirect Exports</span><span class=\"tabEnd\">&nbsp;</span></caption>",
   955                 "<table class=\"requiresSummary\" summary=\"Requires table, listing modules, and an explanation\">\n"
  1245                 "<table class=\"requiresSummary\" summary=\"Requires table, listing modules, and an explanation\">\n"
   956                 + "<caption><span>Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
  1246                 + "<caption><span>Requires</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   957                 + "<tr>\n"
  1247                 + "<tr>\n"
   958                 + "<th class=\"colFirst\" scope=\"col\">Modifier</th>\n"
  1248                 + "<th class=\"colFirst\" scope=\"col\">Modifier</th>\n"
   959                 + "<th class=\"colSecond\" scope=\"col\">Module</th>\n"
  1249                 + "<th class=\"colSecond\" scope=\"col\">Module</th>\n"
   967                 "<table class=\"packagesSummary\" summary=\"Indirect Opens table, listing modules, and packages\">\n"
  1257                 "<table class=\"packagesSummary\" summary=\"Indirect Opens table, listing modules, and packages\">\n"
   968                 + "<caption><span>Indirect Opens</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
  1258                 + "<caption><span>Indirect Opens</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   969                 + "<tr>\n"
  1259                 + "<tr>\n"
   970                 + "<th class=\"colFirst\" scope=\"col\">From</th>\n"
  1260                 + "<th class=\"colFirst\" scope=\"col\">From</th>\n"
   971                 + "<th class=\"colLast\" scope=\"col\">Packages</th>\n"
  1261                 + "<th class=\"colLast\" scope=\"col\">Packages</th>\n"
   972                 + "</tr>\n",
  1262                 + "</tr>\n");
   973                 "<th class=\"colFirst\" scope=\"row\"><a href=\"../moduleB/module-summary.html\">moduleB</a></th>\n"
       
   974                 + "<td class=\"colLast\"><a href=\"../moduleB/testpkgmdlB/package-summary.html\">testpkgmdlB</a></td>\n");
       
   975     }
  1263     }
   976 
  1264 
   977     void checkModuleModeApi(boolean found) {
  1265     void checkModuleModeApi(boolean found) {
   978         checkOutput("moduleA/module-summary.html", found,
  1266         checkOutput("moduleA/module-summary.html", found,
   979                 "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlA/package-summary.html\">testpkgmdlA</a></th>\n"
  1267                 "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlA/package-summary.html\">testpkgmdlA</a></th>\n"
   981         checkOutput("moduleB/module-summary.html", found,
  1269         checkOutput("moduleB/module-summary.html", found,
   982                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;Modules&nbsp;|&nbsp;"
  1270                 "<li><a href=\"#module.description\">Description</a>&nbsp;|&nbsp;Modules&nbsp;|&nbsp;"
   983                 + "<a href=\"#packages.summary\">Packages</a>&nbsp;|&nbsp;<a href=\"#services.summary\">Services</a></li>",
  1271                 + "<a href=\"#packages.summary\">Packages</a>&nbsp;|&nbsp;<a href=\"#services.summary\">Services</a></li>",
   984                 "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlB/package-summary.html\">testpkgmdlB</a></th>\n"
  1272                 "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlB/package-summary.html\">testpkgmdlB</a></th>\n"
   985                 + "<td class=\"colLast\">&nbsp;</td>",
  1273                 + "<td class=\"colLast\">&nbsp;</td>",
   986                 "<table class=\"packagesSummary\" summary=\"Packages table, listing packages, and an explanation\">\n"
  1274                 "<table class=\"packagesSummary\">\n"
   987                 + "<caption><span>Opens</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
  1275                 + "<caption><span>Opens</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
   988                 + "<tr>\n"
  1276                 + "<tr>\n"
   989                 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
  1277                 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
   990                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
  1278                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
   991                 + "</tr>\n"
  1279                 + "</tr>\n"
   997                 + "</tbody>\n"
  1285                 + "</tbody>\n"
   998                 + "</table>");
  1286                 + "</table>");
   999         checkOutput("moduletags/module-summary.html", true,
  1287         checkOutput("moduletags/module-summary.html", true,
  1000                 "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdltags/package-summary.html\">testpkgmdltags</a></th>\n"
  1288                 "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdltags/package-summary.html\">testpkgmdltags</a></th>\n"
  1001                 + "<td class=\"colLast\">&nbsp;</td>");
  1289                 + "<td class=\"colLast\">&nbsp;</td>");
       
  1290     }
       
  1291 
       
  1292     void checkModuleModeApi_html4(boolean found) {
       
  1293         checkOutput("moduleB/module-summary.html", found,
       
  1294                 "<table class=\"packagesSummary\" summary=\"Packages table, listing packages, and an explanation\">\n"
       
  1295                 + "<caption><span>Opens</span><span class=\"tabEnd\">&nbsp;</span></caption>\n"
       
  1296                 + "<tr>\n"
       
  1297                 + "<th class=\"colFirst\" scope=\"col\">Package</th>\n"
       
  1298                 + "<th class=\"colLast\" scope=\"col\">Description</th>\n"
       
  1299                 + "</tr>\n"
       
  1300                 + "<tbody>\n"
       
  1301                 + "<tr class=\"altColor\" id=\"i0\">\n"
       
  1302                 + "<th class=\"colFirst\" scope=\"row\"><a href=\"testpkgmdlB/package-summary.html\">testpkgmdlB</a></th>\n"
       
  1303                 + "<td class=\"colLast\">&nbsp;</td>\n"
       
  1304                 + "</tr>\n"
       
  1305                 + "</tbody>\n"
       
  1306                 + "</table>");
  1002     }
  1307     }
  1003 
  1308 
  1004     void checkModuleModeAll(boolean found) {
  1309     void checkModuleModeAll(boolean found) {
  1005         checkOutput("moduleA/module-summary.html", found,
  1310         checkOutput("moduleA/module-summary.html", found,
  1006                 "<td class=\"colFirst\"> </td>\n"
  1311                 "<td class=\"colFirst\"> </td>\n"
  1082                 "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated.</span></div>");
  1387                 "<div class=\"deprecationBlock\"><span class=\"deprecatedLabel\">Deprecated.</span></div>");
  1083     }
  1388     }
  1084 
  1389 
  1085     void checkModuleAnnotation() {
  1390     void checkModuleAnnotation() {
  1086         checkOutput("moduleB/module-summary.html", true,
  1391         checkOutput("moduleB/module-summary.html", true,
       
  1392                 "<p><a href=\"testpkgmdlB/AnnotationType.html\" title=\"annotation in testpkgmdlB\">@AnnotationType</a>(<a href=\"testpkgmdlB/AnnotationType.html#optional()\">optional</a>=\"Module Annotation\",\n"
       
  1393                 + "                <a href=\"testpkgmdlB/AnnotationType.html#required()\">required</a>=2016)\n"
       
  1394                 + "</p>");
       
  1395         checkOutput("moduleB/module-summary.html", false,
       
  1396                 "@AnnotationTypeUndocumented");
       
  1397     }
       
  1398 
       
  1399     void checkModuleAnnotation_html4() {
       
  1400         checkOutput("moduleB/module-summary.html", true,
  1087                 "<p><a href=\"testpkgmdlB/AnnotationType.html\" title=\"annotation in testpkgmdlB\">@AnnotationType</a>(<a href=\"testpkgmdlB/AnnotationType.html#optional--\">optional</a>=\"Module Annotation\",\n"
  1401                 "<p><a href=\"testpkgmdlB/AnnotationType.html\" title=\"annotation in testpkgmdlB\">@AnnotationType</a>(<a href=\"testpkgmdlB/AnnotationType.html#optional--\">optional</a>=\"Module Annotation\",\n"
  1088                 + "                <a href=\"testpkgmdlB/AnnotationType.html#required--\">required</a>=2016)\n"
  1402                 + "                <a href=\"testpkgmdlB/AnnotationType.html#required--\">required</a>=2016)\n"
  1089                 + "</p>");
  1403                 + "</p>");
  1090         checkOutput("moduleB/module-summary.html", false,
       
  1091                 "@AnnotationTypeUndocumented");
       
  1092     }
  1404     }
  1093 
  1405 
  1094     void checkOverviewFrame(boolean found) {
  1406     void checkOverviewFrame(boolean found) {
  1095         checkOutput("index.html", !found,
  1407         checkOutput("index.html", !found,
  1096                 "<iframe src=\"overview-frame.html\" name=\"packageListFrame\" title=\"All Packages\"></iframe>");
  1408                 "<iframe src=\"overview-frame.html\" name=\"packageListFrame\" title=\"All Packages\"></iframe>");
  1099     }
  1411     }
  1100 
  1412 
  1101     void checkModuleSummaryNoExported(boolean found) {
  1413     void checkModuleSummaryNoExported(boolean found) {
  1102         checkOutput("moduleNoExport/module-summary.html", found,
  1414         checkOutput("moduleNoExport/module-summary.html", found,
  1103                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
  1415                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
  1104                 + "<a name=\"packages.summary\">\n"
  1416                 + "<a id=\"packages.summary\">\n"
  1105                 + "<!--   -->\n"
  1417                 + "<!--   -->\n"
  1106                 + "</a>",
  1418                 + "</a>",
  1107                 "<caption><span>Concealed</span><span class=\"tabEnd\">&nbsp;</span></caption>");
  1419                 "<caption><span>Concealed</span><span class=\"tabEnd\">&nbsp;</span></caption>");
  1108     }
  1420     }
  1109 
  1421 
       
  1422     void checkModuleSummaryNoExported_html4(boolean found) {
       
  1423         checkOutput("moduleNoExport/module-summary.html", found,
       
  1424                 "<!-- ============ PACKAGES SUMMARY =========== -->\n"
       
  1425                 + "<a name=\"packages.summary\">\n"
       
  1426                 + "<!--   -->\n"
       
  1427                 + "</a>");
       
  1428     }
       
  1429 
  1110     void checkGroupOption() {
  1430     void checkGroupOption() {
       
  1431         checkOutput("overview-summary.html", true,
       
  1432                 "<div class=\"contentContainer\">\n"
       
  1433                 + "<table class=\"overviewSummary\">\n"
       
  1434                 + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span class=\"tabEnd\">&nbsp;"
       
  1435                 + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">"
       
  1436                 + "Module Group A</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" class=\"tableTab\">"
       
  1437                 + "<span><a href=\"javascript:showGroups(2);\">Module Group B &amp; C</a></span><span class=\"tabEnd\">"
       
  1438                 + "&nbsp;</span></span><span id=\"t4\" class=\"tableTab\"><span><a href=\"javascript:showGroups(4);\">"
       
  1439                 + "Other Modules</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
       
  1440                 "var groups = {\"i0\":1,\"i1\":2,\"i2\":2,\"i3\":4};\n"
       
  1441                 + "var tabs = {65535:[\"t0\",\"All Modules\"],1:[\"t1\",\"Module Group A\"],2:[\"t2\",\"Module Group B & C\"],4:[\"t4\",\"Other Modules\"]};\n"
       
  1442                 + "var altColor = \"altColor\";\n"
       
  1443                 + "var rowColor = \"rowColor\";\n"
       
  1444                 + "var tableTab = \"tableTab\";\n"
       
  1445                 + "var activeTableTab = \"activeTableTab\";");
       
  1446         checkOutput("overview-summary.html", false,
       
  1447                 "<table class=\"overviewSummary\">\n"
       
  1448                 + "<caption><span>Modules</span><span class=\"tabEnd\">&nbsp;</span></caption>",
       
  1449                 "Java SE Modules");
       
  1450     }
       
  1451 
       
  1452     void checkGroupOption_html4() {
  1111         checkOutput("overview-summary.html", true,
  1453         checkOutput("overview-summary.html", true,
  1112                 "<div class=\"contentContainer\">\n"
  1454                 "<div class=\"contentContainer\">\n"
  1113                 + "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n"
  1455                 + "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n"
  1114                 + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span class=\"tabEnd\">&nbsp;"
  1456                 + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Modules</span><span class=\"tabEnd\">&nbsp;"
  1115                 + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">"
  1457                 + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">"
  1157         checkOutput("overview-summary.html", true,
  1499         checkOutput("overview-summary.html", true,
  1158                 "<div class=\"contentContainer\">\n"
  1500                 "<div class=\"contentContainer\">\n"
  1159                 + "<div class=\"block\">The overview summary page header.</div>\n"
  1501                 + "<div class=\"block\">The overview summary page header.</div>\n"
  1160                 + "</div>\n"
  1502                 + "</div>\n"
  1161                 + "<div class=\"contentContainer\">\n"
  1503                 + "<div class=\"contentContainer\">\n"
  1162                 + "<table class=\"overviewSummary\" summary=\"Package Summary table, listing packages, and an explanation\">\n"
  1504                 + "<table class=\"overviewSummary\">\n"
  1163                 + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;"
  1505                 + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;"
  1164                 + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">"
  1506                 + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">"
  1165                 + "Package Group 0</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" "
  1507                 + "Package Group 0</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" "
  1166                 + "class=\"tableTab\"><span><a href=\"javascript:showGroups(2);\">Package Group 1</a></span>"
  1508                 + "class=\"tableTab\"><span><a href=\"javascript:showGroups(2);\">Package Group 1</a></span>"
  1167                 + "<span class=\"tabEnd\">&nbsp;</span></span></caption>",
  1509                 + "<span class=\"tabEnd\">&nbsp;</span></span></caption>",
  1171                 + "var rowColor = \"rowColor\";\n"
  1513                 + "var rowColor = \"rowColor\";\n"
  1172                 + "var tableTab = \"tableTab\";\n"
  1514                 + "var tableTab = \"tableTab\";\n"
  1173                 + "var activeTableTab = \"activeTableTab\";");
  1515                 + "var activeTableTab = \"activeTableTab\";");
  1174     }
  1516     }
  1175 
  1517 
       
  1518     void checkUnnamedModuleGroupOption_html4() {
       
  1519         checkOutput("overview-summary.html", true,
       
  1520                 "<div class=\"contentContainer\">\n"
       
  1521                 + "<div class=\"block\">The overview summary page header.</div>\n"
       
  1522                 + "</div>\n"
       
  1523                 + "<div class=\"contentContainer\">\n"
       
  1524                 + "<table class=\"overviewSummary\" summary=\"Package Summary table, listing packages, and an explanation\">\n"
       
  1525                 + "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span class=\"tabEnd\">&nbsp;"
       
  1526                 + "</span></span><span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:showGroups(1);\">"
       
  1527                 + "Package Group 0</a></span><span class=\"tabEnd\">&nbsp;</span></span><span id=\"t2\" "
       
  1528                 + "class=\"tableTab\"><span><a href=\"javascript:showGroups(2);\">Package Group 1</a></span>"
       
  1529                 + "<span class=\"tabEnd\">&nbsp;</span></span></caption>");
       
  1530     }
       
  1531 
  1176     void checkGroupOptionPackageOrdering() {
  1532     void checkGroupOptionPackageOrdering() {
  1177         checkOutput("overview-summary.html", true,
  1533         checkOutput("overview-summary.html", true,
  1178                 "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span "
  1534                 "<caption><span id=\"t0\" class=\"activeTableTab\"><span>All Packages</span><span "
  1179                 + "class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>"
  1535                 + "class=\"tabEnd\">&nbsp;</span></span><span id=\"t1\" class=\"tableTab\"><span>"
  1180                 + "<a href=\"javascript:showGroups(1);\">Z Group</a></span><span class=\"tabEnd\">"
  1536                 + "<a href=\"javascript:showGroups(1);\">Z Group</a></span><span class=\"tabEnd\">"
  1182                 + "A Group</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
  1538                 + "A Group</a></span><span class=\"tabEnd\">&nbsp;</span></span></caption>",
  1183                 "var tabs = {65535:[\"t0\",\"All Packages\"],1:[\"t1\",\"Z Group\"],2:[\"t2\",\"A Group\"]};");
  1539                 "var tabs = {65535:[\"t0\",\"All Packages\"],1:[\"t1\",\"Z Group\"],2:[\"t2\",\"A Group\"]};");
  1184     }
  1540     }
  1185 
  1541 
  1186     void checkGroupOptionSingleModule() {
  1542     void checkGroupOptionSingleModule() {
       
  1543         checkOutput("overview-summary.html", true,
       
  1544                 "<div class=\"contentContainer\">\n"
       
  1545                 + "<table class=\"overviewSummary\">\n"
       
  1546                 + "<caption><span>Module Group B</span><span class=\"tabEnd\">&nbsp;</span></caption>");
       
  1547         checkOutput("overview-summary.html", false,
       
  1548                 "<table class=\"overviewSummary\">\n"
       
  1549                 + "<caption><span>Modules</span><span class=\"tabEnd\">&nbsp;</span></caption>");
       
  1550     }
       
  1551 
       
  1552     void checkGroupOptionSingleModule_html4() {
  1187         checkOutput("overview-summary.html", true,
  1553         checkOutput("overview-summary.html", true,
  1188                 "<div class=\"contentContainer\">\n"
  1554                 "<div class=\"contentContainer\">\n"
  1189                 + "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n"
  1555                 + "<table class=\"overviewSummary\" summary=\"Module Summary table, listing modules, and an explanation\">\n"
  1190                 + "<caption><span>Module Group B</span><span class=\"tabEnd\">&nbsp;</span></caption>");
  1556                 + "<caption><span>Module Group B</span><span class=\"tabEnd\">&nbsp;</span></caption>");
  1191         checkOutput("overview-summary.html", false,
  1557         checkOutput("overview-summary.html", false,