Skip to content

Commit

Permalink
refactoring suite.js and environment.js
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewplummer committed Feb 14, 2012
1 parent 0899299 commit a9129d8
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 11 deletions.
10 changes: 7 additions & 3 deletions unit_tests/javascripts/environment.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ registerEnvironment = function(name, mod) {
}

startTests = function() {
jQuery(document).trigger('suite.started', [environment, modules]);
trigger('suite.started', [environment, modules]);
nextModule();
}

testsFinishedCallback = function(r, time) {
if(!current) console.info(r, time);
var data = { module: current.name, results: r, time: time };
jQuery(document).trigger('suite.module_finished', data);
trigger('suite.module_finished', data);
allResults.push(data);
nextModule();
}
Expand All @@ -31,7 +31,7 @@ var nextModule = function() {
}

var modulesFinished = function() {
jQuery(document).trigger('suite.finished', [environment, allResults]);
trigger('suite.finished', [environment, allResults]);
}

var loadScripts = function(module) {
Expand All @@ -45,3 +45,7 @@ var loadScripts = function(module) {
});
}
}

var trigger = function(name, data) {
window.parent.jQuery(window.parent.document).trigger(name, data);
}
42 changes: 34 additions & 8 deletions unit_tests/javascripts/suite.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
(function($) {

var containerExists;

function arrayEach(arr, fn) {
for(var i = 0; i < arr.length; i++) {
Expand All @@ -21,6 +22,9 @@
var totalAssertions = 0;
var totalFailed = 0;
var env = $('#' + environment);
$('.loading', env).hide();
$('.tests,.stats', env).show();
$('.tests', env).empty();
arrayEach(results, function(module) {
var mod = $('<ul class="module" />');
arrayEach(module.results, function(r) {
Expand Down Expand Up @@ -59,7 +63,7 @@
$('.tests', env).append(mod);
});

var stats = $('.stats', env);
var stats = $('.stats', env).empty();
stats.append($('<span class="failures">' + totalFailed + ' ' + (totalFailed == 1 ? 'failure' : 'failures') + '</span>'));
stats.append($('<span class="tests">' + totalTests + ' ' + (totalTests == 1 ? 'test' : 'tests') + '</span>'));
stats.append($('<span class="assertions">' + totalAssertions + ' ' + (totalAssertions == 1 ? 'assertion' : 'assertions') + '</span>'));
Expand All @@ -74,16 +78,27 @@


$(document).bind('suite.started', function(event, environment, modules) {
var tests = findOrCreateTestDiv();
$('<h3>' + $('title').text() + '</h3>').appendTo(tests);
var test = $('<div id="'+ environment +'"/ class="environment">').appendTo(tests);
$('<div class="loading">Running tests.</div>').appendTo(test);
$('<div class="tests"/>').appendTo(test);
$('<p><span class="stats"/></p>').appendTo(test);
var test = findOrCreateTestDiv();
findOrCreateEnvironmentDiv(environment, test);
});

$(document).ready(function() {
startTests();
if(typeof startTests == 'function') {
startTests();
} else {
$('.run').click(function(e) {
var el = $(this);
var env = el.parents('.environment');
e.preventDefault();
el.add($('.tests,.stats', env)).hide();
$('.loading', env).show();
try {
$('iframe#' + el.data('frame'))[0].contentWindow.startTests();
} catch(e) {
console.info(e);
}
});
}
});


Expand All @@ -95,6 +110,17 @@
return div;
}

function findOrCreateEnvironmentDiv(name, container) {
var div = $('#' + name);
if(div.length == 0) {
div = $('<div id="'+ name +'"/ class="environment">').appendTo(container);
$('<h3>' + $('title').text() + '</h3>').appendTo(div);
$('<div class="loading">Running test.</div>').appendTo(div);
$('<div class="tests"/>').appendTo(div);
$('<p><span class="stats"/></p>').appendTo(div);
}
}

function getFailureHTML(f) {
var expected, actual;
if(f.warning) {
Expand Down

0 comments on commit a9129d8

Please sign in to comment.