initial commit
[JIRC.git] / node_modules / jsdom / node_modules / htmlparser / runtests.html
CommitLineData
39c8b14f 1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Node.js HTML Parser</title>
6 <style type="text/css">
7 .good {
8 color: #363;
9 }
10 .bad {
11 color: #633;
12 font-style: italic;
13 }
14 </style>
15 <script language="JavaScript">
16 if ((typeof JSON) != "object") {
17 var head = document.getElementsByTagName("head")[0];
18 var script = document.createElement('script');
19 script.type = "text/javascript";
20 script.src = "json2.js";
21 head.insertBefore(script, head.firstChild)
22 }
23 </script>
24 <script language="JavaScript" src="lib/htmlparser.js"></script>
25 <script language="JavaScript" src="tests/01-basic.js"></script>
26 <script language="JavaScript" src="tests/02-single_tag_1.js"></script>
27 <script language="JavaScript" src="tests/03-single_tag_2.js"></script>
28 <script language="JavaScript" src="tests/04-unescaped_in_script.js"></script>
29 <script language="JavaScript" src="tests/05-tags_in_comment.js"></script>
30 <script language="JavaScript" src="tests/06-comment_in_script.js"></script>
31 <script language="JavaScript" src="tests/07-unescaped_in_style.js"></script>
32 <script language="JavaScript" src="tests/08-extra_spaces_in_tag.js"></script>
33 <script language="JavaScript" src="tests/09-unquoted_attrib.js"></script>
34 <script language="JavaScript" src="tests/10-singular_attribute.js"></script>
35 <script language="JavaScript" src="tests/11-text_outside_tags.js"></script>
36 <script language="JavaScript" src="tests/12-text_only.js"></script>
37 <script language="JavaScript" src="tests/13-comment_in_text.js"></script>
38 <script language="JavaScript" src="tests/14-comment_in_text_in_script.js"></script>
39 <script language="JavaScript" src="tests/15-non-verbose.js"></script>
40 <script language="JavaScript" src="tests/16-ignore_whitespace.js"></script>
41 <script language="JavaScript" src="tests/17-xml_namespace.js"></script>
42 <script language="JavaScript" src="tests/18-enforce_empty_tags.js"></script>
43 <script language="JavaScript" src="tests/19-ignore_empty_tags.js"></script>
44 <script language="JavaScript" src="tests/20-rss.js"></script>
45 <script language="JavaScript" src="tests/21-atom.js"></script>
46 <script language="JavaScript" src="tests/22-position_data.js"></script>
47 <!-- //TODO: dynamic loading of test files -->
48 </head>
49 <body style="font-size: small; font-family:Arial, Helvetica, sans-serif;">
50
51 <script language="JavaScript">
52 var chunkSize = 5;
53 var testCount = 0;
54 var failedCount = 0;
55 while (Tautologistics.NodeHtmlParser.Tests.length) {
56 testCount++;
57 var test = Tautologistics.NodeHtmlParser.Tests.shift();
58 try {
59 var handlerCallback = function handlerCallback (error) {
60 if (error)
61 document.write("<hr>Handler error: " + error + "<hr>");
62 }
63 var handler = (test.type == "rss") ?
64 new Tautologistics.NodeHtmlParser.RssHandler(handlerCallback, test.options.handler)
65 :
66 new Tautologistics.NodeHtmlParser.DefaultHandler(handlerCallback, test.options.handler)
67 ;
68 var parser = new Tautologistics.NodeHtmlParser.Parser(handler, test.options.parser);
69 document.write("<b>" + test.name + "</b>: ");
70 parser.parseComplete(test.html);
71 var resultComplete = handler.dom;
72 var chunkPos = 0;
73 parser.reset();
74 while (chunkPos < test.html.length) {
75 parser.parseChunk(test.html.substring(chunkPos, chunkPos + chunkSize));
76 chunkPos += chunkSize;
77 }
78 parser.done();
79 var resultChunk = handler.dom;
80 var testResult =
81 JSON.stringify(resultComplete).toString() === JSON.stringify(test.expected).toString()
82 &&
83 JSON.stringify(resultChunk).toString() === JSON.stringify(test.expected).toString()
84 ;
85 document.write(testResult ? "<font class='good'>passed</font>" : "<font class='bad'>FAILED</font>");
86 if (!testResult) {
87 failedCount++;
88 document.write("<pre>");
89 document.write("<b>Complete</b>\n");
90 document.write(JSON.stringify(resultComplete, null, 2));
91 document.write("<b>Chunked</b>\n");
92 document.write(JSON.stringify(resultChunk, null, 2));
93 document.write("<h2>Expected</h2>\n");
94 document.write(JSON.stringify(test.expected, null, 2));
95 document.write("</pre>");
96 }
97 } catch (ex) {
98 document.write("<h1>Exception occured during test: " + ex + "</h1>")
99 }
100 document.write("<br>");
101 }
102 document.write("<hr>");
103 document.write("Total tests: " + testCount + "<br>");
104 document.write("Failed tests: " + failedCount + "<br>");
105 </script>
106
107 </body>
108</html>