-
- function createResultsDiv() {
- var body = document.getElementsByTagName("body")[0];
- div = document.createElement("div");
- div.id='results';
- div.innerHTML = "Test results: <span id='summary'></span> <a href='#' id='passed'>passed</a> <a href='#' id='failed'>failed</a> <a href='#' id='all'>all</a><br/>";
- body.insertBefore(div, body.firstChild);
-
- var setByClassName = function(name, displayStyle) {
- var elements = div.getElementsByClassName(name);
- for (var i = 0; i < elements.length; i++) {
- elements[i].style.display = displayStyle;
- }
- }
-
- var passedAnchor = document.getElementById('passed');
- var failedAnchor = document.getElementById('failed');
- var allAnchor = document.getElementById('all');
- passedAnchor.onclick = function() {
- setByClassName('fail', 'none');
- setByClassName('pass', 'block');
-
- passedAnchor.setAttribute("class", 'activeAnchor');
- failedAnchor.setAttribute("class", '');
- };
- failedAnchor.onclick = function() {
- setByClassName('fail', 'block');
- setByClassName('pass', 'none');
- passedAnchor.setAttribute("class", '');
- failedAnchor.setAttribute("class", 'activeAnchor');
- };
- allAnchor.onclick = function() {
- setByClassName('fail', 'block');
- setByClassName('pass', 'block');
- passedAnchor.setAttribute("class", '');
- failedAnchor.setAttribute("class", '');
- };
- return div;
- }
-
- function postResults(results, summary, title) {
- if (typeof(results) == "boolean") {
- var elem = document.createElement("div");
- elem.setAttribute("class", results ? 'pass' : 'fail');
-
- var prefix = title ? (title + ": ") : "";
- elem.innerHTML = prefix + '<span class=\'outcome\'>' + (results ? 'pass' : 'fail') + '</span>';
- resultsDiv.appendChild(elem);
- if (results) {
- summary.passed++;
- } else {
- summary.failed++;
- }
- } else { // hash
- var failed = 0;
- var html = "";
- for (var key in results) {
- if (results.hasOwnProperty(key)) {
- var elem = results[key];
- if (typeof(elem) == "boolean" && title) {
- postResults(results[key], summary, title + "." + key);
- } else {
- postResults(results[key], summary, key);
- }
- }
- }
- }
- }
-
- </script>