| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | |
| <html> | |
| <head> | |
| <title>Core JavaScript Tests</title> | |
| <script language="JavaScript"> | |
| function selectAll (suite, testDir) | |
| { | |
| if (typeof suite == "undefined") | |
| for (var suite in suites) | |
| setAllDirs (suite, true); | |
| else if (typeof testDir == "undefined") | |
| setAllDirs (suite, true); | |
| else | |
| setAllTests (suite, testDir, true); | |
| updateTotals(); | |
| } | |
| function selectNone (suite, testDir) | |
| { | |
| if (typeof suite == "undefined") | |
| for (var suite in suites) | |
| setAllDirs (suite, false); | |
| else if (typeof testDir == "undefined") | |
| setAllDirs (suite, false); | |
| else | |
| setAllTests (suite, testDir, false); | |
| updateTotals(); | |
| } | |
| function setAllDirs (suite, value) | |
| { | |
| var dir; | |
| for (dir in suites[suite].testDirs) | |
| setAllTests (suite, dir, value); | |
| } | |
| function setAllTests (suite, testDir, value) | |
| { | |
| var test, radioName; | |
| for (test in suites[suite].testDirs[testDir].tests) | |
| { | |
| radioName = suites[suite].testDirs[testDir].tests[test]; | |
| document.forms["testCases"].elements[radioName].checked = value; | |
| } | |
| } | |
| function createList () | |
| { | |
| var suite, testDir, test, radioName; | |
| var elements = document.forms["testCases"].elements; | |
| var win = window.open ("about:blank", "other_window"); | |
| win.document.open(); | |
| win.document.write ("<pre>\n"); | |
| win.document.write ("# Created " + new Date() + "\n"); | |
| for (suite in suites) | |
| win.document.write ("# " + suite + ": " + | |
| elements["SUMMARY_" + suite].value + "\n"); | |
| win.document.write ("# TOTAL: " + elements["TOTAL"].value + "\n"); | |
| for (suite in suites) | |
| for (testDir in suites[suite].testDirs) | |
| for (test in suites[suite].testDirs[testDir].tests) | |
| { | |
| radioName = suites[suite].testDirs[testDir].tests[test]; | |
| if (elements[radioName].checked) | |
| win.document.write (suite + "/" + testDir + "/" + | |
| elements[radioName].value + "\n"); | |
| } | |
| win.document.close(); | |
| } | |
| function onRadioClick (name) | |
| { | |
| var radio = document.forms["testCases"].elements[name]; | |
| radio.checked = !radio.checked; | |
| setTimeout ("updateTotals();", 100); | |
| return false; | |
| } | |
| function updateTotals() | |
| { | |
| var suite, testDir, test, radioName, selected, available, pct; | |
| var totalAvailable = 0, totalSelected = 0; | |
| var elements = document.forms["testCases"].elements; | |
| for (suite in suites) | |
| { | |
| selected = available = 0; | |
| for (testDir in suites[suite].testDirs) | |
| for (test in suites[suite].testDirs[testDir].tests) | |
| { | |
| available++ | |
| radioName = suites[suite].testDirs[testDir].tests[test]; | |
| if (elements[radioName].checked) | |
| selected++; | |
| } | |
| totalSelected += selected; | |
| totalAvailable += available; | |
| pct = parseInt((selected / available) * 100); | |
| if (isNaN(pct)) | |
| pct = 0; | |
| elements["SUMMARY_" + suite].value = selected + "/" + available + | |
| " (" + pct + "%) selected"; | |
| } | |
| pct = parseInt((totalSelected / totalAvailable) * 100); | |
| if (isNaN(pct)) | |
| pct = 0; | |
| elements["TOTAL"].value = totalSelected + "/" + totalAvailable + " (" + | |
| pct + "%) selected"; | |
| } | |
| </script> | |
| </head> | |
| <body bgcolor="white" onLoad="updateTotals()"> | |
| <a name='top_of_page'></a> | |
| <h1>Core JavaScript Tests</h1> | |
| <form name="testCases"> | |
| <input type='button' value='Export Test List' onClick='createList();'> | |
| <input type='button' value='Import Test List' | |
| onClick='window.open("importList.html", "other_window");'> |