<!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");'>