JavaScriptCore/tests/mozilla/menuhead.html
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     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");'>