8026736: Enhance Javadoc pages

Reviewed-by: jjg
This commit is contained in:
Bhavesh Patel 2014-01-13 14:50:51 -08:00
parent 69c52bd73b
commit 4ff2c3b94a
2 changed files with 147 additions and 13 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -248,7 +248,7 @@ public class ConfigurationImpl extends Configuration {
} else if (opt.equals("-doctitle")) { } else if (opt.equals("-doctitle")) {
doctitle = os[1]; doctitle = os[1];
} else if (opt.equals("-windowtitle")) { } else if (opt.equals("-windowtitle")) {
windowtitle = os[1]; windowtitle = os[1].replaceAll("\\<.*?>", "");
} else if (opt.equals("-top")) { } else if (opt.equals("-top")) {
top = os[1]; top = os[1];
} else if (opt.equals("-bottom")) { } else if (opt.equals("-bottom")) {

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -23,7 +23,7 @@
/* /*
* @test * @test
* @bug 8016675 * @bug 8016675 8026736
* @summary Test for window title. * @summary Test for window title.
* @author Bhavesh Patel * @author Bhavesh Patel
* @library ../lib/ * @library ../lib/
@ -34,26 +34,153 @@
public class TestWindowTitle extends JavadocTester { public class TestWindowTitle extends JavadocTester {
private static final String BUG_ID = "8016675"; private static final String BUG_ID = "8016675";
private static final String WIN_TITLE = //Window title with JavaScript special characters.
private static final String TITLE_JS_CHARS =
"Testing \"Window 'Title'\" with a \\ backslash and a / " + "Testing \"Window 'Title'\" with a \\ backslash and a / " +
"forward slash and a \u00e8 unicode char also a tab and also a " + "forward slash and a \u00e8 unicode char also a tab and also a " +
"\t special character another \u0002 unicode)"; "\t special character another \u0002 unicode)";
private static final String[][] TEST = { private static final String[] ARGS_JS_CHARS = new String[]{
{BUG_ID + FS + "overview-summary.html", "-d", BUG_ID + "-1", "-windowtitle", TITLE_JS_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_JS_CHARS = {
{BUG_ID + "-1" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing \\\"Window \\\'Title\\\'\\\" " + "parent.document.title=\"Overview (Testing \\\"Window \\\'Title\\\'\\\" " +
"with a \\\\ backslash and a / forward slash and a \\u00E8 unicode char " + "with a \\\\ backslash and a / forward slash and a \\u00E8 unicode char " +
"also a tab and also a \\t special character another \\u0002 unicode))\";" "also a tab and also a \\t special character another \\u0002 unicode))\";"
}, },
}; };
private static final String[][] NEG_TEST = { private static final String[][] NEG_TEST_JS_CHARS = {
{BUG_ID + FS + "overview-summary.html", {BUG_ID + "-1" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing \"Window \'Title\'\" " + "parent.document.title=\"Overview (Testing \"Window \'Title\'\" " +
"with a \\ backslash and a / forward slash and a \u00E8 unicode char " + "with a \\ backslash and a / forward slash and a \u00E8 unicode char " +
"also a tab and also a \t special character another \u0002 unicode))\";" "also a tab and also a \t special character another \u0002 unicode))\";"
}, }
}; };
private static final String[] ARGS = new String[]{
"-d", BUG_ID, "-windowtitle", WIN_TITLE, "-sourcepath", SRC_DIR, "p1", "p2" //Window title with a script tag.
private static final String TITLE_SCRIPT_TAG =
"Testing script tag in title </title><script>alert(\"Should not pop up\")</script>.";
private static final String[] ARGS_SCRIPT_TAG = new String[]{
"-d", BUG_ID + "-2", "-windowtitle", TITLE_SCRIPT_TAG, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_SCRIPT_TAG = {
{BUG_ID + "-2" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing script tag in title alert" +
"(\\\"Should not pop up\\\").)\";"
},
{BUG_ID + "-2" + FS + "p2" + FS + "C2.html",
"parent.document.title=\"C2 (Testing script tag in title alert" +
"(\\\"Should not pop up\\\").)\";"
}
};
private static final String[][] NEG_TEST_SCRIPT_TAG = {
{BUG_ID + "-2" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing script tag in title </title><script>" +
"alert(\\\"Should not pop up\\\")</script>.)\";"
},
{BUG_ID + "-2" + FS + "p2" + FS + "C2.html",
"parent.document.title=\"C2 (Testing script tag in title </title><script>" +
"alert(\\\"Should not pop up\\\")</script>.)\";"
}
};
//Window title with other HTML tags.
private static final String TITLE_HTML_TAGS =
"Testing another <p>HTML</p> tag. Another <h1>tag</h1>. A " +
"<span id=\"testTag\">tag with attributes</span>. <script and </p are not tags.";
private static final String[] ARGS_HTML_TAGS = new String[]{
"-d", BUG_ID + "-3", "-windowtitle", TITLE_HTML_TAGS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_HTML_TAGS = {
{BUG_ID + "-3" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing another HTML tag. Another tag. A " +
"tag with attributes. <script and </p are not tags.)\";"
}
};
private static final String[][] NEG_TEST_HTML_TAGS = {
{BUG_ID + "-3" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing another <p>HTML</p> tag. Another " +
"<h1>tag</h1>. A <span id=\"testTag\">tag with attributes</span>. <script and " +
"</p are not tags.)\";"
}
};
//Window title using entities.
private static final String TITLE_HTML_ENTITIES =
"Testing entities &lt;script&gt;alert(\"Should not pop up\")&lt;/script&gt;.";
private static final String[] ARGS_HTML_ENTITIES = new String[]{
"-d", BUG_ID + "-4", "-windowtitle", TITLE_HTML_ENTITIES, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_HTML_ENTITIES = {
{BUG_ID + "-4" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing entities &lt;script&gt;alert(\\\"Should " +
"not pop up\\\")&lt;/script&gt;.)\";"
}
};
private static final String[][] NEG_TEST_HTML_ENTITIES = {
{BUG_ID + "-4" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing entities alert(\\\"Should not pop up\\\").)\";"
}
};
//Window title with just empty HTML tags.
private static final String TITLE_EMPTY_TAGS =
"</title><script></script>";
private static final String[] ARGS_EMPTY_TAGS = new String[]{
"-d", BUG_ID + "-5", "-windowtitle", TITLE_EMPTY_TAGS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_EMPTY_TAGS = {
{BUG_ID + "-5" + FS + "overview-summary.html",
"parent.document.title=\"Overview\";"
}
};
private static final String[][] NEG_TEST_EMPTY_TAGS = {
{BUG_ID + "-5" + FS + "overview-summary.html",
"parent.document.title=\"Overview (</title><script></script>)\";"
}
};
//Window title with unicode characters.
private static final String TITLE_UNICODE_CHARS =
"Testing unicode \u003cscript\u003ealert(\"Should not pop up\")\u003c/script\u003e.";
private static final String[] ARGS_UNICODE_CHARS = new String[]{
"-d", BUG_ID + "-6", "-windowtitle", TITLE_UNICODE_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_UNICODE_CHARS = {
{BUG_ID + "-6" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing unicode alert(\\\"Should " +
"not pop up\\\").)\";"
}
};
private static final String[][] NEG_TEST_UNICODE_CHARS = {
{BUG_ID + "-6" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing unicode <script>alert(\\\"Should not pop up\\\")" +
"</script>.)\";"
}
};
//An empty window title.
private static final String TITLE_EMPTY =
"";
private static final String[] ARGS_EMPTY_TITLE = new String[]{
"-d", BUG_ID + "-7", "-windowtitle", TITLE_EMPTY, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_EMPTY = {
{BUG_ID + "-7" + FS + "overview-summary.html",
"parent.document.title=\"Overview\";"
}
};
//Test doctitle.
private static final String[] ARGS_DOCTITLE = new String[]{
"-d", BUG_ID + "-8", "-doctitle", TITLE_JS_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] NEG_TEST_DOCTITLE = {
{BUG_ID + "-8" + FS + "overview-summary.html",
"parent.document.title=\"Overview (Testing \\\"Window \\\'Title\\\'\\\" " +
"with a \\\\ backslash and a / forward slash and a \\u00E8 unicode char " +
"also a tab and also a \\t special character another \\u0002 unicode)\";"
},
}; };
/** /**
@ -62,7 +189,14 @@ public class TestWindowTitle extends JavadocTester {
*/ */
public static void main(String[] args) { public static void main(String[] args) {
TestWindowTitle tester = new TestWindowTitle(); TestWindowTitle tester = new TestWindowTitle();
run(tester, ARGS, TEST, NEG_TEST); run(tester, ARGS_JS_CHARS, TEST_JS_CHARS, NEG_TEST_JS_CHARS);
run(tester, ARGS_SCRIPT_TAG, TEST_SCRIPT_TAG, NEG_TEST_SCRIPT_TAG);
run(tester, ARGS_HTML_TAGS, TEST_HTML_TAGS, NEG_TEST_HTML_TAGS);
run(tester, ARGS_HTML_ENTITIES, TEST_HTML_ENTITIES, NEG_TEST_HTML_ENTITIES);
run(tester, ARGS_EMPTY_TAGS, TEST_EMPTY_TAGS, NEG_TEST_EMPTY_TAGS);
run(tester, ARGS_UNICODE_CHARS, TEST_UNICODE_CHARS, NEG_TEST_UNICODE_CHARS);
run(tester, ARGS_EMPTY_TITLE, TEST_EMPTY, NO_TEST);
run(tester, ARGS_DOCTITLE, NO_TEST, NEG_TEST_DOCTITLE);
tester.printSummary(); tester.printSummary();
} }