• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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");'>
139