5 return "div"+divIdCount++;
8 function displayTable(data)
12 document.write('<link href="report.css" rel="stylesheet" type="text/css">');
13 document.write("<div class='test-suite'>");
17 document.write("</div>");
20 function console2html(out)
22 out = out.replace(/\u001b\[m/g, "</font><font color='white'>");
23 out = out.replace(/\u001b\[0;30m/g, "</font><font color='black'>");
24 out = out.replace(/\u001b\[0;31m/g, "</font><font color='#cc6666'>");
25 out = out.replace(/\u001b\[0;32m/g, "</font><font color='#33cc66'>");
26 out = out.replace(/\u001b\[0;33m/g, "</font><font color='#cc9933'>");
27 out = out.replace(/\u001b\[0;34m/g, "</font><font color='#3366cc'>");
28 out = out.replace(/\u001b\[0;35m/g, "</font><font color='#cc33cc'>");
29 out = out.replace(/\u001b\[0;36m/g, "</font><font color='#33cccc'>");
30 out = out.replace(/\u001b\[0;37m/g, "</font><font color='#cccccc'>");
31 out = out.replace(/\u001b\[0;38m/g, "</font><font color='#666666'>");
32 out = out.replace(/\u001b\[1;30m/g, "</font><font color='black'>");
33 out = out.replace(/\u001b\[1;31m/g, "</font><font color='#ff6666'>");
34 out = out.replace(/\u001b\[1;32m/g, "</font><font color='#66ff66'>");
35 out = out.replace(/\u001b\[1;33m/g, "</font><font color='#ffff66'>");
36 out = out.replace(/\u001b\[1;34m/g, "</font><font color='#6699ff'>");
37 out = out.replace(/\u001b\[1;35m/g, "</font><font color='#ff66ff'>");
38 out = out.replace(/\u001b\[1;36m/g, "</font><font color='#33ffff'>");
39 out = out.replace(/\u001b\[1;37m/g, "</font><font color='white'>");
40 out = out.replace(/\u001b\[1;38m/g, "</font><font color='grey'>");
41 return "<font color='white'>"+out+"</font>";
44 function displayTest(test)
46 var detailsId = nextId();
47 var childsId = nextId();
49 document.write("<div class='test'>");
51 document.write("<font color='green'>");
53 document.write("<font color='red'>");
54 document.write("<a onclick='changeDisplayState(\""+childsId+"\")' style='cursor:pointer;'>"+test.name+"</a></font> <a onclick='changeDisplayState(\""+
55 detailsId+"\")' style='cursor:pointer;'>details</a><br/>");
56 document.write("<div id='"+detailsId+"' style='display:none' ><table>");
58 for (prop in test.details)
62 if (prop == "stderr" || prop == 'stdout')
63 x = "<td style='background-color:black'><pre>"+console2html(test.details[prop])+"</pre></td>";
65 x = "<td><pre>"+test.details[prop]+"</pre></td>";
66 document.write("<tr><td>"+prop+"</td>"+x+"</tr>");
68 document.write("</table></div>");
69 if (test.tests != null)
73 document.write("<div class='test-suite' id='"+childsId+"' class='childdiv'");
75 document.write(" style='display:none'");
77 for (i in test.tests) {
78 displayTest(test.tests[i]);
80 document.write("</div>");
82 document.write('</div>');
85 function changeDisplayState(id)
87 var div=document.getElementById(id);
88 if (div.style.display == 'none' ||
89 div.style.display == '') {
90 div.style.display = 'block';
92 div.style.display = 'none';