1/* 2 * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24/* 25 * @test 26 * @bug 8141492 8071982 8141636 8147890 8166175 8168965 8176794 8175218 27 * @summary Test the search feature of javadoc. 28 * @author bpatel 29 * @library ../lib 30 * @modules jdk.javadoc/jdk.javadoc.internal.tool 31 * @build JavadocTester 32 * @run main TestSearch 33 */ 34public class TestSearch extends JavadocTester { 35 36 public static void main(String... args) throws Exception { 37 TestSearch tester = new TestSearch(); 38 tester.runTests(); 39 } 40 41 @Test 42 void test1() { 43 javadoc("-d", "out-1", "-sourcepath", "-use", testSrc("UnnamedPkgClass.java")); 44 checkExit(Exit.OK); 45 checkSearchOutput("UnnamedPkgClass.html", true); 46 checkJqueryAndImageFiles(true); 47 checkSearchJS(); 48 checkFiles(false, 49 "package-search-index.zip", 50 "tag-search-index.zip", 51 "package-search-index.js", 52 "tag-search-index.js"); 53 checkFiles(true, 54 "member-search-index.zip", 55 "type-search-index.zip", 56 "member-search-index.js", 57 "type-search-index.js"); 58 } 59 60 @Test 61 void test2() { 62 javadoc("-d", "out-2", "-Xdoclint:none", "-sourcepath", testSrc, 63 "-use", "pkg", "pkg1", "pkg2", "pkg3"); 64 checkExit(Exit.OK); 65 checkInvalidUsageIndexTag(); 66 checkSearchOutput(true); 67 checkSingleIndex(true); 68 checkJqueryAndImageFiles(true); 69 checkSearchJS(); 70 checkFiles(true, 71 "member-search-index.zip", 72 "package-search-index.zip", 73 "tag-search-index.zip", 74 "type-search-index.zip", 75 "member-search-index.js", 76 "package-search-index.js", 77 "tag-search-index.js", 78 "type-search-index.js"); 79 } 80 81 @Test 82 void test2a() { 83 javadoc("-d", "out-2a", "-Xdoclint:all", "-sourcepath", testSrc, 84 "-use", "pkg", "pkg1", "pkg2", "pkg3"); 85 checkExit(Exit.ERROR); 86 checkDocLintErrors(); 87 checkSearchOutput(true); 88 checkSingleIndex(true); 89 checkJqueryAndImageFiles(true); 90 checkSearchJS(); 91 checkFiles(true, 92 "member-search-index.zip", 93 "package-search-index.zip", 94 "tag-search-index.zip", 95 "type-search-index.zip", 96 "member-search-index.js", 97 "package-search-index.js", 98 "tag-search-index.js", 99 "type-search-index.js"); 100 } 101 102 @Test 103 void test3() { 104 javadoc("-d", "out-3", "-noindex", "-Xdoclint:none", 105 "-sourcepath", testSrc, 106 "-use", "pkg", "pkg1", "pkg2", "pkg3"); 107 checkExit(Exit.OK); 108 checkSearchOutput(false); 109 checkJqueryAndImageFiles(false); 110 checkFiles(false, 111 "member-search-index.zip", 112 "package-search-index.zip", 113 "tag-search-index.zip", 114 "type-search-index.zip", 115 "member-search-index.js", 116 "package-search-index.js", 117 "tag-search-index.js", 118 "type-search-index.js", 119 "index-all.html"); 120 } 121 122 @Test 123 void test4() { 124 javadoc("-d", "out-4", "-html5", "-Xdoclint:none", 125 "-sourcepath", testSrc, 126 "-use", "pkg", "pkg1", "pkg2", "pkg3"); 127 checkExit(Exit.OK); 128 checkSearchOutput(true); 129 checkSingleIndex(true); 130 checkJqueryAndImageFiles(true); 131 checkSearchJS(); 132 checkFiles(true, 133 "member-search-index.zip", 134 "package-search-index.zip", 135 "tag-search-index.zip", 136 "type-search-index.zip", 137 "member-search-index.js", 138 "package-search-index.js", 139 "tag-search-index.js", 140 "type-search-index.js"); 141 } 142 143 @Test 144 void test5() { 145 javadoc("-d", "out-5", "-noindex", "-html5", "-Xdoclint:none", 146 "-sourcepath", testSrc, 147 "-use", "pkg", "pkg1", "pkg2", "pkg3"); 148 checkExit(Exit.OK); 149 checkSearchOutput(false); 150 checkJqueryAndImageFiles(false); 151 checkFiles(false, 152 "member-search-index.zip", 153 "package-search-index.zip", 154 "tag-search-index.zip", 155 "type-search-index.zip", 156 "member-search-index.js", 157 "package-search-index.js", 158 "tag-search-index.js", 159 "type-search-index.js", 160 "index-all.html"); 161 } 162 163 @Test 164 void test6() { 165 javadoc("-d", "out-6", "-nocomment", "-Xdoclint:none", 166 "-sourcepath", testSrc, 167 "-use", "pkg", "pkg1", "pkg2", "pkg3"); 168 checkExit(Exit.OK); 169 checkSearchOutput(true); 170 checkIndexNoComment(); 171 checkJqueryAndImageFiles(true); 172 checkSearchJS(); 173 checkFiles(true, 174 "member-search-index.zip", 175 "package-search-index.zip", 176 "tag-search-index.zip", 177 "type-search-index.zip", 178 "member-search-index.js", 179 "package-search-index.js", 180 "tag-search-index.js", 181 "type-search-index.js"); 182 } 183 184 @Test 185 void test7() { 186 javadoc("-d", "out-7", "-nodeprecated", "-Xdoclint:none", 187 "-sourcepath", testSrc, 188 "-use", "pkg", "pkg1", "pkg2", "pkg3"); 189 checkExit(Exit.OK); 190 checkSearchOutput(true); 191 checkIndexNoDeprecated(); 192 checkJqueryAndImageFiles(true); 193 checkSearchJS(); 194 checkFiles(true, 195 "member-search-index.zip", 196 "package-search-index.zip", 197 "tag-search-index.zip", 198 "type-search-index.zip", 199 "member-search-index.js", 200 "package-search-index.js", 201 "tag-search-index.js", 202 "type-search-index.js"); 203 } 204 205 @Test 206 void test8() { 207 javadoc("-d", "out-8", "-splitindex", "-Xdoclint:none", "-sourcepath", testSrc, 208 "-use", "pkg", "pkg1", "pkg2", "pkg3"); 209 checkExit(Exit.OK); 210 checkInvalidUsageIndexTag(); 211 checkSearchOutput(true); 212 checkSplitIndex(); 213 checkJqueryAndImageFiles(true); 214 checkSearchJS(); 215 checkFiles(true, 216 "member-search-index.zip", 217 "package-search-index.zip", 218 "tag-search-index.zip", 219 "type-search-index.zip", 220 "member-search-index.js", 221 "package-search-index.js", 222 "tag-search-index.js", 223 "type-search-index.js"); 224 } 225 226 @Test 227 void test9() { 228 javadoc("-d", "out-9", "-sourcepath", testSrc, "-javafx", "-package", 229 "-use", "pkgfx", "pkg3"); 230 checkExit(Exit.OK); 231 checkSearchOutput(true); 232 checkJavaFXOutput(); 233 checkJqueryAndImageFiles(true); 234 checkSearchJS(); 235 checkFiles(false, 236 "tag-search-index.zip", 237 "tag-search-index.js"); 238 checkFiles(true, 239 "member-search-index.zip", 240 "package-search-index.zip", 241 "type-search-index.zip", 242 "member-search-index.js", 243 "package-search-index.js", 244 "type-search-index.js"); 245 } 246 247 void checkDocLintErrors() { 248 checkOutput(Output.OUT, true, 249 "A sample method. Testing search tag for {@index \"unclosed quote}.", 250 "Another test class. Testing empty {@index }.", 251 "Constant field. Testing no text in index tag {@index}.", 252 "A test field. Testing only white-spaces in index tag text {@index }."); 253 } 254 255 void checkSearchOutput(boolean expectedOutput) { 256 checkSearchOutput("overview-summary.html", expectedOutput); 257 } 258 259 void checkSearchOutput(String fileName, boolean expectedOutput) { 260 // Test for search related markup 261 checkOutput(fileName, expectedOutput, 262 "<link rel=\"stylesheet\" type=\"text/css\" href=\"jquery/jquery-ui.css\" title=\"Style\">\n", 263 "<script type=\"text/javascript\" src=\"jquery/jszip/dist/jszip.min.js\"></script>\n", 264 "<script type=\"text/javascript\" src=\"jquery/jszip-utils/dist/jszip-utils.min.js\"></script>\n", 265 "<!--[if IE]>\n", 266 "<script type=\"text/javascript\" src=\"jquery/jszip-utils/dist/jszip-utils-ie.min.js\"></script>\n", 267 "<![endif]-->\n", 268 "<script type=\"text/javascript\" src=\"jquery/jquery-1.10.2.js\"></script>\n", 269 "<script type=\"text/javascript\" src=\"jquery/jquery-ui.js\"></script>", 270 "var pathtoroot = \"./\";loadScripts(document, 'script');", 271 "<ul class=\"navListSearch\">\n", 272 "<li><span>SEARCH: </span>\n", 273 "<input type=\"text\" id=\"search\" value=\" \" disabled=\"disabled\">\n", 274 "<input type=\"reset\" id=\"reset\" value=\" \" disabled=\"disabled\">\n"); 275 checkOutput(fileName, true, 276 "<div class=\"fixedNav\">"); 277 } 278 279 void checkSingleIndex(boolean expectedOutput) { 280 // Test for search tags markup in index file. 281 checkOutput("index-all.html", expectedOutput, 282 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#phrasewithspaces\">" 283 + "phrase with spaces</a></span> - Search tag in pkg</dt>", 284 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#pkg\">" 285 + "pkg</a></span> - Search tag in pkg</dt>", 286 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#pkg2.5\">" 287 + "pkg2.5</a></span> - Search tag in pkg</dt>", 288 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#r\">" 289 + "r</a></span> - Search tag in pkg</dt>", 290 "<dt><span class=\"searchTagLink\"><a href=\"pkg1/RegClass.html#searchphrase\">" 291 + "search phrase</a></span> - Search tag in pkg1.RegClass</dt>", 292 "<dt><span class=\"searchTagLink\"><a href=\"pkg1/RegClass.html#SearchWordWithDescription\">" 293 + "SearchWordWithDescription</a></span> - Search tag in pkg1.RegClass.CONSTANT_FIELD_1</dt>", 294 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestAnnotationType.html#searchphrasewithdescdeprecated\">" 295 + "search phrase with desc deprecated</a></span> - Search tag in pkg2.TestAnnotationType</dt>", 296 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestClass.html#SearchTagDeprecatedClass\">" 297 + "SearchTagDeprecatedClass</a></span> - Search tag in pkg2.TestClass</dt>", 298 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestEnum.html#searchphrasedeprecated\">" 299 + "search phrase deprecated</a></span> - Search tag in pkg2.TestEnum.ONE</dt>", 300 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestEnum.html#searchphrasedeprecated\">" 301 + "search phrase deprecated</a></span> - Search tag in pkg2.TestEnum.ONE</dt>", 302 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestError.html#SearchTagDeprecatedMethod\">" 303 + "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>", 304 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestError.html#SearchTagDeprecatedMethod\">" 305 + "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>", 306 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#SingleWord\">" 307 + "SingleWord</a></span> - Search tag in pkg</dt>", 308 "<dt><span class=\"searchTagLink\"><a href=\"pkg/AnotherClass.ModalExclusionType.html" 309 + "#nested%7B@indexnested_tag_test%7D\">nested {@index nested_tag_test}</a></span> - " 310 + "Search tag in pkg.AnotherClass.ModalExclusionType.NO_EXCLUDE</dt>", 311 "<dt><span class=\"searchTagLink\"><a href=\"pkg/AnotherClass.ModalExclusionType.html" 312 + "#html-span-see-/span-\">html <span> see </span></a></span> - Search " 313 + "tag in pkg.AnotherClass.ModalExclusionType.APPLICATION_EXCLUDE</dt>", 314 "<dt><span class=\"searchTagLink\"><a href=\"pkg/AnotherClass.html#quoted\">quoted</a>" 315 + "</span> - Search tag in pkg.AnotherClass.CONSTANT1</dt>", 316 "<dt><span class=\"memberNameLink\"><a href=\"pkg2/TestEnum.html#ONE\">ONE</a></span> - " 317 + "pkg2.<a href=\"pkg2/TestEnum.html\" title=\"enum in pkg2\">TestEnum</a></dt>", 318 "<dt><span class=\"memberNameLink\"><a href=\"pkg2/TestEnum.html#THREE\">THREE</a></span> - " 319 + "pkg2.<a href=\"pkg2/TestEnum.html\" title=\"enum in pkg2\">TestEnum</a></dt>", 320 "<dt><span class=\"memberNameLink\"><a href=\"pkg2/TestEnum.html#TWO\">TWO</a></span> - " 321 + "pkg2.<a href=\"pkg2/TestEnum.html\" title=\"enum in pkg2\">TestEnum</a></dt>"); 322 checkOutput("index-all.html", true, 323 "<div class=\"block\"><span class=\"deprecationComment\">class_test1 passes. Search tag" 324 + " <a id=\"SearchTagDeprecatedClass\" class=\"searchTagResult\">SearchTagDeprecatedClass</a></span></div>", 325 "<div class=\"block\"><span class=\"deprecationComment\">error_test3 passes. Search tag for\n" 326 + " method <a id=\"SearchTagDeprecatedMethod\" class=\"searchTagResult\">SearchTagDeprecatedMethod</a></span></div>"); 327 } 328 329 void checkSplitIndex() { 330 // Test for search tags markup in split index file. 331 checkOutput("index-files/index-13.html", true, 332 "<dt><span class=\"searchTagLink\"><a href=\"../pkg1/RegClass.html#searchphrase\">" 333 + "search phrase</a></span> - Search tag in pkg1.RegClass</dt>", 334 "<dt><span class=\"searchTagLink\"><a href=\"../pkg1/RegClass.html#SearchWordWithDescription\">" 335 + "SearchWordWithDescription</a></span> - Search tag in pkg1.RegClass.CONSTANT_FIELD_1</dt>", 336 "<dt><span class=\"searchTagLink\"><a href=\"../pkg2/TestAnnotationType.html#searchphrasewithdescdeprecated\">" 337 + "search phrase with desc deprecated</a></span> - Search tag in pkg2.TestAnnotationType</dt>", 338 "<dt><span class=\"searchTagLink\"><a href=\"../pkg2/TestClass.html#SearchTagDeprecatedClass\">" 339 + "SearchTagDeprecatedClass</a></span> - Search tag in pkg2.TestClass</dt>", 340 "<dt><span class=\"searchTagLink\"><a href=\"../pkg2/TestEnum.html#searchphrasedeprecated\">" 341 + "search phrase deprecated</a></span> - Search tag in pkg2.TestEnum.ONE</dt>", 342 "<dt><span class=\"searchTagLink\"><a href=\"../pkg2/TestEnum.html#searchphrasedeprecated\">" 343 + "search phrase deprecated</a></span> - Search tag in pkg2.TestEnum.ONE</dt>", 344 "<dt><span class=\"searchTagLink\"><a href=\"../pkg2/TestError.html#SearchTagDeprecatedMethod\">" 345 + "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>", 346 "<dt><span class=\"searchTagLink\"><a href=\"../pkg2/TestError.html#SearchTagDeprecatedMethod\">" 347 + "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>", 348 "<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#SingleWord\">" 349 + "SingleWord</a></span> - Search tag in pkg</dt>"); 350 checkOutput("index-files/index-10.html", true, 351 "<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#phrasewithspaces\">" 352 + "phrase with spaces</a></span> - Search tag in pkg</dt>", 353 "<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#pkg\">" 354 + "pkg</a></span> - Search tag in pkg</dt>", 355 "<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#pkg2.5\">" 356 + "pkg2.5</a></span> - Search tag in pkg</dt>"); 357 checkOutput("index-files/index-12.html", true, 358 "<dt><span class=\"searchTagLink\"><a href=\"../pkg/package-summary.html#r\">" 359 + "r</a></span> - Search tag in pkg</dt>"); 360 checkOutput("index-files/index-8.html", true, 361 "<dt><span class=\"searchTagLink\"><a href=\"../pkg/AnotherClass.ModalExclusionType.html" 362 + "#nested%7B@indexnested_tag_test%7D\">nested {@index nested_tag_test}</a></span> - " 363 + "Search tag in pkg.AnotherClass.ModalExclusionType.NO_EXCLUDE</dt>"); 364 checkOutput("index-files/index-5.html", true, 365 "<dt><span class=\"searchTagLink\"><a href=\"../pkg/AnotherClass.ModalExclusionType.html" 366 + "#html-span-see-/span-\">html <span> see </span></a></span> - Search " 367 + "tag in pkg.AnotherClass.ModalExclusionType.APPLICATION_EXCLUDE</dt>"); 368 checkOutput("index-files/index-11.html", true, 369 "<dt><span class=\"searchTagLink\"><a href=\"../pkg/AnotherClass.html#quoted\">quoted</a>" 370 + "</span> - Search tag in pkg.AnotherClass.CONSTANT1</dt>"); 371 checkOutput("index-files/index-9.html", true, 372 "<dt><span class=\"memberNameLink\"><a href=\"../pkg2/TestEnum.html#ONE\">ONE</a>" 373 + "</span> - pkg2.<a href=\"../pkg2/TestEnum.html\" title=\"enum in pkg2\">TestEnum</a></dt>"); 374 checkOutput("index-files/index-14.html", true, 375 "<dt><span class=\"memberNameLink\"><a href=\"../pkg2/TestEnum.html#THREE\">THREE</a></span> - " 376 + "pkg2.<a href=\"../pkg2/TestEnum.html\" title=\"enum in pkg2\">TestEnum</a></dt>", 377 "<dt><span class=\"memberNameLink\"><a href=\"../pkg2/TestEnum.html#TWO\">TWO</a></span> - " 378 + "pkg2.<a href=\"../pkg2/TestEnum.html\" title=\"enum in pkg2\">TestEnum</a></dt>"); 379 } 380 381 void checkIndexNoComment() { 382 // Test for search tags markup in index file when javadoc is executed with -nocomment. 383 checkOutput("index-all.html", false, 384 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#phrasewithspaces\">" 385 + "phrase with spaces</a></span> - Search tag in pkg</dt>", 386 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#pkg\">" 387 + "pkg</a></span> - Search tag in pkg</dt>", 388 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#pkg2.5\">" 389 + "pkg2.5</a></span> - Search tag in pkg</dt>", 390 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#r\">" 391 + "r</a></span> - Search tag in pkg</dt>", 392 "<dt><span class=\"searchTagLink\"><a href=\"pkg1/RegClass.html#searchphrase\">" 393 + "search phrase</a></span> - Search tag in pkg1.RegClass</dt>", 394 "<dt><span class=\"searchTagLink\"><a href=\"pkg1/RegClass.html#SearchWordWithDescription\">" 395 + "SearchWordWithDescription</a></span> - Search tag in pkg1.RegClass.CONSTANT_FIELD_1</dt>", 396 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestAnnotationType.html#searchphrasewithdescdeprecated\">" 397 + "search phrase with desc deprecated</a></span> - Search tag in pkg2.TestAnnotationType</dt>", 398 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestClass.html#SearchTagDeprecatedClass\">" 399 + "SearchTagDeprecatedClass</a></span> - Search tag in pkg2.TestClass</dt>", 400 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#SingleWord\">" 401 + "SingleWord</a></span> - Search tag in pkg</dt>", 402 "<div class=\"block\"><span class=\"deprecationComment\">class_test1 passes. Search tag" 403 + " <a id=\"SearchTagDeprecatedClass\">SearchTagDeprecatedClass</a></span></div>", 404 "<div class=\"block\"><span class=\"deprecationComment\">error_test3 passes. Search tag for\n" 405 + " method <a id=\"SearchTagDeprecatedMethod\">SearchTagDeprecatedMethod</a></span></div>"); 406 checkOutput("index-all.html", true, 407 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestEnum.html#searchphrasedeprecated\">" 408 + "search phrase deprecated</a></span> - Search tag in pkg2.TestEnum.ONE</dt>", 409 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestError.html#SearchTagDeprecatedMethod\">" 410 + "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>"); 411 } 412 413 void checkIndexNoDeprecated() { 414 // Test for search tags markup in index file when javadoc is executed using -nodeprecated. 415 checkOutput("index-all.html", true, 416 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#phrasewithspaces\">" 417 + "phrase with spaces</a></span> - Search tag in pkg</dt>", 418 "<dt><span class=\"searchTagLink\"><a href=\"pkg1/RegClass.html#searchphrase\">" 419 + "search phrase</a></span> - Search tag in pkg1.RegClass</dt>", 420 "<dt><span class=\"searchTagLink\"><a href=\"pkg1/RegClass.html#SearchWordWithDescription\">" 421 + "SearchWordWithDescription</a></span> - Search tag in pkg1.RegClass.CONSTANT_FIELD_1</dt>", 422 "<dt><span class=\"searchTagLink\"><a href=\"pkg/package-summary.html#SingleWord\">" 423 + "SingleWord</a></span> - Search tag in pkg</dt>"); 424 checkOutput("index-all.html", false, 425 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestAnnotationType.html#searchphrasewithdescdeprecated\">" 426 + "search phrase with desc deprecated</a></span> - Search tag in pkg2.TestAnnotationType</dt>", 427 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestClass.html#SearchTagDeprecatedClass\">" 428 + "SearchTagDeprecatedClass</a></span> - Search tag in pkg2.TestClass</dt>", 429 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestEnum.html#searchphrasedeprecated\">" 430 + "search phrase deprecated</a></span> - Search tag in pkg2.TestEnum.ONE</dt>", 431 "<dt><span class=\"searchTagLink\"><a href=\"pkg2/TestError.html#SearchTagDeprecatedMethod\">" 432 + "SearchTagDeprecatedMethod</a></span> - Search tag in pkg2.TestError</dt>", 433 "<div class=\"block\"><span class=\"deprecationComment\">class_test1 passes. Search tag" 434 + " <a id=\"SearchTagDeprecatedClass\">SearchTagDeprecatedClass</a></span></div>", 435 "<div class=\"block\"><span class=\"deprecationComment\">error_test3 passes. Search tag for\n" 436 + " method <a id=\"SearchTagDeprecatedMethod\">SearchTagDeprecatedMethod</a></span></div>"); 437 } 438 439 void checkJavaFXOutput() { 440 checkOutput("index-all.html", false, "test treat as private"); 441 } 442 443 void checkInvalidUsageIndexTag() { 444 checkOutput(Output.OUT, true, 445 "AnotherClass.java:29: warning - invalid usage of tag {@index", 446 "AnotherClass.java:41: warning - invalid usage of tag {@index", 447 "AnotherClass.java:36: warning - invalid usage of tag {@index", 448 "AnotherClass.java:70: warning - invalid usage of tag {@index"); 449 } 450 451 void checkJqueryAndImageFiles(boolean expectedOutput) { 452 checkFiles(expectedOutput, 453 "search.js", 454 "jquery/jquery-1.10.2.js", 455 "jquery/jquery-ui.js", 456 "jquery/jquery-ui.css", 457 "jquery/jquery-ui.min.js", 458 "jquery/jquery-ui.min.css", 459 "jquery/jquery-ui.structure.min.css", 460 "jquery/jquery-ui.structure.css", 461 "jquery/external/jquery/jquery.js", 462 "jquery/jszip/dist/jszip.js", 463 "jquery/jszip/dist/jszip.min.js", 464 "jquery/jszip-utils/dist/jszip-utils.js", 465 "jquery/jszip-utils/dist/jszip-utils.min.js", 466 "jquery/jszip-utils/dist/jszip-utils-ie.js", 467 "jquery/jszip-utils/dist/jszip-utils-ie.min.js", 468 "jquery/images/ui-bg_flat_0_aaaaaa_40x100.png", 469 "jquery/images/ui-icons_454545_256x240.png", 470 "jquery/images/ui-bg_glass_95_fef1ec_1x400.png", 471 "jquery/images/ui-bg_glass_75_dadada_1x400.png", 472 "jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png", 473 "jquery/images/ui-icons_888888_256x240.png", 474 "jquery/images/ui-icons_2e83ff_256x240.png", 475 "jquery/images/ui-bg_glass_65_ffffff_1x400.png", 476 "jquery/images/ui-icons_cd0a0a_256x240.png", 477 "jquery/images/ui-bg_glass_55_fbf9ee_1x400.png", 478 "jquery/images/ui-icons_222222_256x240.png", 479 "jquery/images/ui-bg_glass_75_e6e6e6_1x400.png", 480 "jquery/images/ui-bg_flat_75_ffffff_40x100.png", 481 "resources/x.png", 482 "resources/glass.png"); 483 } 484 485 void checkSearchJS() { 486 checkOutput("search.js", true, 487 "camelCaseRegexp = ($.ui.autocomplete.escapeRegex(request.term)).split(/(?=[A-Z])/).join(\"([a-z0-9_$]*?)\");", 488 "var camelCaseMatcher = new RegExp(\"^\" + camelCaseRegexp);", 489 "camelCaseMatcher.test(item.l)", 490 "var secondaryresult = new Array();", 491 "function nestedName(e) {", 492 "function sortAndConcatResults(a1, a2) {", 493 "if (exactMatcher.test(item.l)) {\n" 494 + " presult.unshift(item);"); 495 } 496} 497