mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 18:44:38 +02:00
8038730: Clean up the way JavadocTester is invoked, and checks for errors
Reviewed-by: ksrini, sogoel, bpatel
This commit is contained in:
parent
756eae6492
commit
caa2209663
144 changed files with 7277 additions and 9513 deletions
|
@ -26,180 +26,192 @@
|
|||
* @bug 8016675 8026736
|
||||
* @summary Test for window title.
|
||||
* @author Bhavesh Patel
|
||||
* @library ../lib/
|
||||
* @build JavadocTester TestWindowTitle
|
||||
* @library ../lib
|
||||
* @build JavadocTester
|
||||
* @run main TestWindowTitle
|
||||
*/
|
||||
|
||||
public class TestWindowTitle extends JavadocTester {
|
||||
|
||||
//Window title with JavaScript special characters.
|
||||
private static final String TITLE_JS_CHARS =
|
||||
"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)";
|
||||
private static final String[] ARGS_JS_CHARS = new String[]{
|
||||
"-d", OUTPUT_DIR + "-1", "-windowtitle", TITLE_JS_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
|
||||
};
|
||||
private static final String[][] TEST_JS_CHARS = {
|
||||
{ "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))\";"
|
||||
},
|
||||
};
|
||||
private static final String[][] NEG_TEST_JS_CHARS = {
|
||||
{ "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))\";"
|
||||
}
|
||||
};
|
||||
|
||||
//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", OUTPUT_DIR + "-2", "-windowtitle", TITLE_SCRIPT_TAG, "-sourcepath", SRC_DIR, "p1", "p2"
|
||||
};
|
||||
private static final String[][] TEST_SCRIPT_TAG = {
|
||||
{ "overview-summary.html",
|
||||
"parent.document.title=\"Overview (Testing script tag in title alert" +
|
||||
"(\\\"Should not pop up\\\").)\";"
|
||||
},
|
||||
{ "p2/C2.html",
|
||||
"parent.document.title=\"C2 (Testing script tag in title alert" +
|
||||
"(\\\"Should not pop up\\\").)\";"
|
||||
}
|
||||
};
|
||||
private static final String[][] NEG_TEST_SCRIPT_TAG = {
|
||||
{ "overview-summary.html",
|
||||
"parent.document.title=\"Overview (Testing script tag in title </title><script>" +
|
||||
"alert(\\\"Should not pop up\\\")</script>.)\";"
|
||||
},
|
||||
{ "p2/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", OUTPUT_DIR + "-3", "-windowtitle", TITLE_HTML_TAGS,
|
||||
"-sourcepath", SRC_DIR,
|
||||
"p1", "p2"
|
||||
};
|
||||
private static final String[][] TEST_HTML_TAGS = {
|
||||
{ "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 = {
|
||||
{ "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 <script>alert(\"Should not pop up\")</script>.";
|
||||
private static final String[] ARGS_HTML_ENTITIES = new String[]{
|
||||
"-d", OUTPUT_DIR + "-4", "-windowtitle", TITLE_HTML_ENTITIES,
|
||||
"-sourcepath", SRC_DIR,
|
||||
"p1", "p2"
|
||||
};
|
||||
private static final String[][] TEST_HTML_ENTITIES = {
|
||||
{ "overview-summary.html",
|
||||
"parent.document.title=\"Overview (Testing entities <script>alert(\\\"Should " +
|
||||
"not pop up\\\")</script>.)\";"
|
||||
}
|
||||
};
|
||||
private static final String[][] NEG_TEST_HTML_ENTITIES = {
|
||||
{ "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", OUTPUT_DIR + "-5", "-windowtitle", TITLE_EMPTY_TAGS, "-sourcepath", SRC_DIR, "p1", "p2"
|
||||
};
|
||||
private static final String[][] TEST_EMPTY_TAGS = {
|
||||
{ "overview-summary.html",
|
||||
"parent.document.title=\"Overview\";"
|
||||
}
|
||||
};
|
||||
private static final String[][] NEG_TEST_EMPTY_TAGS = {
|
||||
{ "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", OUTPUT_DIR + "-6", "-windowtitle", TITLE_UNICODE_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
|
||||
};
|
||||
private static final String[][] TEST_UNICODE_CHARS = {
|
||||
{ "overview-summary.html",
|
||||
"parent.document.title=\"Overview (Testing unicode alert(\\\"Should " +
|
||||
"not pop up\\\").)\";"
|
||||
}
|
||||
};
|
||||
private static final String[][] NEG_TEST_UNICODE_CHARS = {
|
||||
{ "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", OUTPUT_DIR + "-7", "-windowtitle", TITLE_EMPTY, "-sourcepath", SRC_DIR, "p1", "p2"
|
||||
};
|
||||
private static final String[][] TEST_EMPTY = {
|
||||
{ "overview-summary.html",
|
||||
"parent.document.title=\"Overview\";"
|
||||
}
|
||||
};
|
||||
|
||||
//Test doctitle.
|
||||
private static final String[] ARGS_DOCTITLE = new String[]{
|
||||
"-d", OUTPUT_DIR + "-8", "-doctitle", TITLE_JS_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
|
||||
};
|
||||
private static final String[][] NEG_TEST_DOCTITLE = {
|
||||
{ "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)\";"
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* The entry point of the test.
|
||||
* @param args the array of command line arguments.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
public static void main(String... args) throws Exception {
|
||||
TestWindowTitle tester = new TestWindowTitle();
|
||||
tester.run(ARGS_JS_CHARS, TEST_JS_CHARS, NEG_TEST_JS_CHARS);
|
||||
tester.run(ARGS_SCRIPT_TAG, TEST_SCRIPT_TAG, NEG_TEST_SCRIPT_TAG);
|
||||
tester.run(ARGS_HTML_TAGS, TEST_HTML_TAGS, NEG_TEST_HTML_TAGS);
|
||||
tester.run(ARGS_HTML_ENTITIES, TEST_HTML_ENTITIES, NEG_TEST_HTML_ENTITIES);
|
||||
tester.run(ARGS_EMPTY_TAGS, TEST_EMPTY_TAGS, NEG_TEST_EMPTY_TAGS);
|
||||
tester.run(ARGS_UNICODE_CHARS, TEST_UNICODE_CHARS, NEG_TEST_UNICODE_CHARS);
|
||||
tester.run(ARGS_EMPTY_TITLE, TEST_EMPTY, NO_TEST);
|
||||
tester.run(ARGS_DOCTITLE, NO_TEST, NEG_TEST_DOCTITLE);
|
||||
tester.runTests();
|
||||
tester.printSummary();
|
||||
}
|
||||
|
||||
@Test
|
||||
void testJavaScriptChars() {
|
||||
// Window title with JavaScript special characters.
|
||||
String title = "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)";
|
||||
|
||||
javadoc("-d", "out-js-chars",
|
||||
"-windowtitle", title,
|
||||
"-sourcepath", testSrc,
|
||||
"p1", "p2");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("overview-summary.html", true,
|
||||
"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))\";"
|
||||
);
|
||||
|
||||
checkOutput("overview-summary.html", false,
|
||||
"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))\";"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testScriptTag() {
|
||||
// Window title with a script tag.
|
||||
String title = "Testing script tag in title </title><script>alert(\"Should not pop up\")</script>.";
|
||||
|
||||
javadoc("-d", "out-script",
|
||||
"-windowtitle", title,
|
||||
"-sourcepath", testSrc,
|
||||
"p1", "p2");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("overview-summary.html", true,
|
||||
"parent.document.title=\"Overview (Testing script tag in title alert"
|
||||
+ "(\\\"Should not pop up\\\").)\";"
|
||||
);
|
||||
|
||||
checkOutput("p2/C2.html", true,
|
||||
"parent.document.title=\"C2 (Testing script tag in title alert"
|
||||
+ "(\\\"Should not pop up\\\").)\";"
|
||||
);
|
||||
|
||||
checkOutput("overview-summary.html", false,
|
||||
"parent.document.title=\"Overview (Testing script tag in title </title><script>"
|
||||
+ "alert(\\\"Should not pop up\\\")</script>.)\";"
|
||||
);
|
||||
|
||||
checkOutput("p2/C2.html", false,
|
||||
"parent.document.title=\"C2 (Testing script tag in title </title><script>"
|
||||
+ "alert(\\\"Should not pop up\\\")</script>.)\";"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testHtmlTags() {
|
||||
// Window title with other HTML tags.
|
||||
String title = "Testing another <p>HTML</p> tag. Another <h1>tag</h1>. A "
|
||||
+ "<span id=\"testTag\">tag with attributes</span>. <script and </p are not tags.";
|
||||
|
||||
javadoc("-d", "out-html-tags",
|
||||
"-windowtitle", title,
|
||||
"-sourcepath", testSrc,
|
||||
"p1", "p2");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("overview-summary.html", true,
|
||||
"parent.document.title=\"Overview (Testing another HTML tag. Another tag. A "
|
||||
+ "tag with attributes. <script and </p are not tags.)\";"
|
||||
);
|
||||
|
||||
checkOutput("overview-summary.html", false,
|
||||
"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.)\";"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testHtmlEntities() {
|
||||
// Window title using entities.
|
||||
String title = "Testing entities <script>alert(\"Should not pop up\")</script>.";
|
||||
|
||||
javadoc("-d", "out-html-entities",
|
||||
"-windowtitle", title,
|
||||
"-sourcepath", testSrc,
|
||||
"p1", "p2");
|
||||
|
||||
checkOutput("overview-summary.html", true,
|
||||
"parent.document.title=\"Overview (Testing entities <script>alert(\\\"Should "
|
||||
+ "not pop up\\\")</script>.)\";"
|
||||
);
|
||||
|
||||
checkOutput("overview-summary.html", false,
|
||||
"parent.document.title=\"Overview (Testing entities alert(\\\"Should not pop up\\\").)\";"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEmptyTags() {
|
||||
// Window title with just empty HTML tags.
|
||||
String title = "</title><script></script>";
|
||||
|
||||
javadoc("-d", "out-empty-tags",
|
||||
"-windowtitle", title,
|
||||
"-sourcepath", testSrc,
|
||||
"p1", "p2");
|
||||
|
||||
checkOutput("overview-summary.html", true,
|
||||
"parent.document.title=\"Overview\";"
|
||||
);
|
||||
|
||||
checkOutput("overview-summary.html", false,
|
||||
"parent.document.title=\"Overview (</title><script></script>)\";"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testUnicode() {
|
||||
//Window title with unicode characters.
|
||||
String title = "Testing unicode \u003cscript\u003ealert(\"Should not pop up\")\u003c/script\u003e.";
|
||||
|
||||
javadoc("-d", "out-unicode",
|
||||
"-windowtitle", title,
|
||||
"-sourcepath", testSrc,
|
||||
"p1", "p2");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("overview-summary.html", true,
|
||||
"parent.document.title=\"Overview (Testing unicode alert(\\\"Should "
|
||||
+ "not pop up\\\").)\";"
|
||||
);
|
||||
|
||||
checkOutput("overview-summary.html", false,
|
||||
"parent.document.title=\"Overview (Testing unicode <script>alert(\\\"Should not pop up\\\")"
|
||||
+ "</script>.)\";"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEmpty() {
|
||||
// An empty window title.
|
||||
String title = "";
|
||||
javadoc("-d", "out-empty",
|
||||
"-windowtitle", title,
|
||||
"-sourcepath", testSrc, "p1", "p2");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("overview-summary.html", true,
|
||||
"parent.document.title=\"Overview\";"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDocTitle() {
|
||||
// Window title with JavaScript special characters, specified with -doctitle
|
||||
String title = "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)";
|
||||
|
||||
javadoc("-d", "out-doctitle",
|
||||
"-doctitle", title,
|
||||
"-sourcepath", testSrc,
|
||||
"p1", "p2");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("overview-summary.html", false,
|
||||
"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)\";"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue