test/com/sun/javadoc/testJavascript/TestJavascript.java

Wed, 06 Jul 2016 20:07:09 -0700

author
bpatel
date
Wed, 06 Jul 2016 20:07:09 -0700
changeset 3258
fd9b6417c521
parent 2085
3344ea7404b1
child 3295
859dc787b52b
permissions
-rw-r--r--

8151921: Improved page resolution
Reviewed-by: jjg, ksrini

duke@1 1 /*
bpatel@1829 2 * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
duke@1 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@1 4 *
duke@1 5 * This code is free software; you can redistribute it and/or modify it
duke@1 6 * under the terms of the GNU General Public License version 2 only, as
duke@1 7 * published by the Free Software Foundation.
duke@1 8 *
duke@1 9 * This code is distributed in the hope that it will be useful, but WITHOUT
duke@1 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@1 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@1 12 * version 2 for more details (a copy is included in the LICENSE file that
duke@1 13 * accompanied this code).
duke@1 14 *
duke@1 15 * You should have received a copy of the GNU General Public License version
duke@1 16 * 2 along with this work; if not, write to the Free Software Foundation,
duke@1 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@1 18 *
ohair@554 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@554 20 * or visit www.oracle.com if you need additional information or have any
ohair@554 21 * questions.
duke@1 22 */
duke@1 23
duke@1 24 /*
duke@1 25 * @test
bpatel@3258 26 * @bug 4665566 4855876 7025314 8012375 8015997 8016328 8024756 8151921
duke@1 27 * @summary Verify that the output has the right javascript.
duke@1 28 * @author jamieh
duke@1 29 * @library ../lib/
duke@1 30 * @build JavadocTester
duke@1 31 * @build TestJavascript
duke@1 32 * @run main TestJavascript
duke@1 33 */
duke@1 34
duke@1 35 public class TestJavascript extends JavadocTester {
duke@1 36
duke@1 37 //Test information.
bpatel@1829 38 private static final String BUG_ID = "4665566-4855876-8012375";
duke@1 39
duke@1 40 //Javadoc arguments.
duke@1 41 private static final String[] ARGS = new String[] {
duke@1 42 "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", SRC_DIR + FS + "TestJavascript.java"
duke@1 43 };
duke@1 44
duke@1 45 //Input for string search tests.
duke@1 46 private static final String[][] TEST = {
duke@1 47 {BUG_ID + FS + "pkg" + FS + "C.html",
bpatel@942 48 "<a href=\"../index.html?pkg/C.html\" target=\"_top\">Frames</a>"},
duke@1 49 {BUG_ID + FS + "TestJavascript.html",
bpatel@942 50 "<a href=\"index.html?TestJavascript.html\" target=\"_top\">Frames</a>"},
duke@1 51 {BUG_ID + FS + "index.html",
bpatel@766 52 "<script type=\"text/javascript\">" + NL +
bpatel@3258 53 " tmpTargetPage = \"\" + window.location.search;" + NL +
bpatel@3258 54 " if (tmpTargetPage != \"\" && tmpTargetPage != \"undefined\")" + NL +
bpatel@3258 55 " tmpTargetPage = tmpTargetPage.substring(1);" + NL +
bpatel@3258 56 " if (tmpTargetPage.indexOf(\":\") != -1 || (tmpTargetPage != \"\" && !validURL(tmpTargetPage)))" + NL +
bpatel@3258 57 " tmpTargetPage = \"undefined\";" + NL +
bpatel@3258 58 " targetPage = tmpTargetPage;" + NL +
bpatel@1829 59 " function validURL(url) {" + NL +
bpatel@2055 60 " try {" + NL +
bpatel@2055 61 " url = decodeURIComponent(url);" + NL +
bpatel@2055 62 " }" + NL +
bpatel@2055 63 " catch (error) {" + NL +
bpatel@2055 64 " return false;" + NL +
bpatel@2055 65 " }" + NL +
bpatel@1835 66 " var pos = url.indexOf(\".html\");" + NL +
bpatel@1835 67 " if (pos == -1 || pos != url.length - 5)" + NL +
bpatel@1829 68 " return false;" + NL +
bpatel@1829 69 " var allowNumber = false;" + NL +
bpatel@1829 70 " var allowSep = false;" + NL +
bpatel@1829 71 " var seenDot = false;" + NL +
bpatel@1829 72 " for (var i = 0; i < url.length - 5; i++) {" + NL +
bpatel@1829 73 " var ch = url.charAt(i);" + NL +
bpatel@1829 74 " if ('a' <= ch && ch <= 'z' ||" + NL +
bpatel@1829 75 " 'A' <= ch && ch <= 'Z' ||" + NL +
bpatel@1829 76 " ch == '$' ||" + NL +
bpatel@2055 77 " ch == '_' ||" + NL +
bpatel@2055 78 " ch.charCodeAt(0) > 127) {" + NL +
bpatel@1829 79 " allowNumber = true;" + NL +
bpatel@1829 80 " allowSep = true;" + NL +
bpatel@1829 81 " } else if ('0' <= ch && ch <= '9'" + NL +
bpatel@1829 82 " || ch == '-') {" + NL +
bpatel@1829 83 " if (!allowNumber)" + NL +
bpatel@1829 84 " return false;" + NL +
bpatel@1829 85 " } else if (ch == '/' || ch == '.') {" + NL +
bpatel@1829 86 " if (!allowSep)" + NL +
bpatel@1829 87 " return false;" + NL +
bpatel@1829 88 " allowNumber = false;" + NL +
bpatel@1829 89 " allowSep = false;" + NL +
bpatel@1829 90 " if (ch == '.')" + NL +
bpatel@1829 91 " seenDot = true;" + NL +
bpatel@1829 92 " if (ch == '/' && seenDot)" + NL +
bpatel@1829 93 " return false;" + NL +
bpatel@1829 94 " } else {" + NL +
bpatel@1829 95 " return false;" + NL +
bpatel@1829 96 " }" + NL +
bpatel@1829 97 " }" + NL +
bpatel@1829 98 " return true;" + NL +
bpatel@1829 99 " }" + NL +
duke@1 100 " function loadFrames() {" + NL +
duke@1 101 " if (targetPage != \"\" && targetPage != \"undefined\")" + NL +
duke@1 102 " top.classFrame.location = top.targetPage;" + NL +
duke@1 103 " }" + NL +
bpatel@766 104 "</script>"},
duke@1 105
duke@1 106 //Make sure title javascript only runs if is-external is not true
duke@1 107 {BUG_ID + FS + "pkg" + FS + "C.html",
bpatel@2085 108 " try {" + NL +
bpatel@2085 109 " if (location.href.indexOf('is-external=true') == -1) {" + NL +
bpatel@2085 110 " parent.document.title=\"C\";" + NL +
bpatel@2085 111 " }" + NL +
bpatel@2085 112 " }" + NL +
bpatel@2085 113 " catch(err) {" + NL +
bpatel@2085 114 " }"},
duke@1 115 };
duke@1 116
duke@1 117 private static final String[][] NEGATED_TEST = NO_TEST;
duke@1 118
duke@1 119 /**
duke@1 120 * The entry point of the test.
duke@1 121 * @param args the array of command line arguments.
duke@1 122 */
duke@1 123 public static void main(String[] args) {
duke@1 124 TestJavascript tester = new TestJavascript();
duke@1 125 run(tester, ARGS, TEST, NEGATED_TEST);
duke@1 126 tester.printSummary();
duke@1 127 }
duke@1 128
duke@1 129 /**
duke@1 130 * {@inheritDoc}
duke@1 131 */
duke@1 132 public String getBugId() {
duke@1 133 return BUG_ID;
duke@1 134 }
duke@1 135
duke@1 136 /**
duke@1 137 * {@inheritDoc}
duke@1 138 */
duke@1 139 public String getBugName() {
duke@1 140 return getClass().getName();
duke@1 141 }
duke@1 142 }

mercurial