|
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
|
2 <html> |
|
3 <head> |
|
4 <title>Core JavaScript Tests</title> |
|
5 |
|
6 <script language="JavaScript"> |
|
7 function selectAll (suite, testDir) |
|
8 { |
|
9 if (typeof suite == "undefined") |
|
10 for (var suite in suites) |
|
11 setAllDirs (suite, true); |
|
12 else if (typeof testDir == "undefined") |
|
13 setAllDirs (suite, true); |
|
14 else |
|
15 setAllTests (suite, testDir, true); |
|
16 updateTotals(); |
|
17 } |
|
18 |
|
19 function selectNone (suite, testDir) |
|
20 { |
|
21 |
|
22 if (typeof suite == "undefined") |
|
23 for (var suite in suites) |
|
24 setAllDirs (suite, false); |
|
25 else if (typeof testDir == "undefined") |
|
26 setAllDirs (suite, false); |
|
27 else |
|
28 setAllTests (suite, testDir, false); |
|
29 updateTotals(); |
|
30 } |
|
31 |
|
32 function setAllDirs (suite, value) |
|
33 { |
|
34 var dir; |
|
35 for (dir in suites[suite].testDirs) |
|
36 setAllTests (suite, dir, value); |
|
37 |
|
38 } |
|
39 |
|
40 function setAllTests (suite, testDir, value) |
|
41 { |
|
42 var test, radioName; |
|
43 |
|
44 for (test in suites[suite].testDirs[testDir].tests) |
|
45 { |
|
46 radioName = suites[suite].testDirs[testDir].tests[test]; |
|
47 document.forms["testCases"].elements[radioName].checked = value; |
|
48 } |
|
49 |
|
50 } |
|
51 |
|
52 function createList () |
|
53 { |
|
54 var suite, testDir, test, radioName; |
|
55 var elements = document.forms["testCases"].elements; |
|
56 |
|
57 var win = window.open ("about:blank", "other_window"); |
|
58 win.document.open(); |
|
59 win.document.write ("<pre>\n"); |
|
60 |
|
61 win.document.write ("# Created " + new Date() + "\n"); |
|
62 |
|
63 for (suite in suites) |
|
64 win.document.write ("# " + suite + ": " + |
|
65 elements["SUMMARY_" + suite].value + "\n"); |
|
66 win.document.write ("# TOTAL: " + elements["TOTAL"].value + "\n"); |
|
67 |
|
68 for (suite in suites) |
|
69 for (testDir in suites[suite].testDirs) |
|
70 for (test in suites[suite].testDirs[testDir].tests) |
|
71 { |
|
72 radioName = suites[suite].testDirs[testDir].tests[test]; |
|
73 if (elements[radioName].checked) |
|
74 win.document.write (suite + "/" + testDir + "/" + |
|
75 elements[radioName].value + "\n"); |
|
76 } |
|
77 |
|
78 win.document.close(); |
|
79 |
|
80 } |
|
81 |
|
82 function onRadioClick (name) |
|
83 { |
|
84 var radio = document.forms["testCases"].elements[name]; |
|
85 radio.checked = !radio.checked; |
|
86 setTimeout ("updateTotals();", 100); |
|
87 return false; |
|
88 } |
|
89 |
|
90 function updateTotals() |
|
91 { |
|
92 var suite, testDir, test, radioName, selected, available, pct; |
|
93 var totalAvailable = 0, totalSelected = 0; |
|
94 |
|
95 var elements = document.forms["testCases"].elements; |
|
96 |
|
97 for (suite in suites) |
|
98 { |
|
99 selected = available = 0; |
|
100 for (testDir in suites[suite].testDirs) |
|
101 for (test in suites[suite].testDirs[testDir].tests) |
|
102 { |
|
103 available++ |
|
104 radioName = suites[suite].testDirs[testDir].tests[test]; |
|
105 if (elements[radioName].checked) |
|
106 selected++; |
|
107 } |
|
108 totalSelected += selected; |
|
109 totalAvailable += available; |
|
110 pct = parseInt((selected / available) * 100); |
|
111 if (isNaN(pct)) |
|
112 pct = 0; |
|
113 |
|
114 elements["SUMMARY_" + suite].value = selected + "/" + available + |
|
115 " (" + pct + "%) selected"; |
|
116 } |
|
117 |
|
118 pct = parseInt((totalSelected / totalAvailable) * 100); |
|
119 if (isNaN(pct)) |
|
120 pct = 0; |
|
121 |
|
122 elements["TOTAL"].value = totalSelected + "/" + totalAvailable + " (" + |
|
123 pct + "%) selected"; |
|
124 |
|
125 } |
|
126 |
|
127 </script> |
|
128 |
|
129 </head> |
|
130 |
|
131 <body bgcolor="white" onLoad="updateTotals()"> |
|
132 <a name='top_of_page'></a> |
|
133 <h1>Core JavaScript Tests</h1> |
|
134 |
|
135 <form name="testCases"> |
|
136 <input type='button' value='Export Test List' onClick='createList();'> |
|
137 <input type='button' value='Import Test List' |
|
138 onClick='window.open("importList.html", "other_window");'> |