UNPKG

sugar

Version:

A Javascript library for working with native objects.

57 lines (47 loc) 1.21 kB
var modules; var allResults = []; var current; registerEnvironment = function(name, mod) { environment = name; modules = mod; } startTests = function() { 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 }; trigger('suite.module_finished', data); allResults.push(data); nextModule(); } var nextModule = function() { current = modules.shift(); if(current) { loadScripts(current); } else { modulesFinished(); } } var modulesFinished = function() { trigger('suite.finished', [environment, allResults]); } var loadScripts = function(module) { var loaded = 0, i; for(i = 0; i < module.tests.length; i++){ jQuery.getScript((module.path || '') + module.tests[i], function(){ loaded++; if(loaded == module.tests.length){ syncTestsFinished(); } }); } } var trigger = function(name, data) { var win = getWindow(); win.jQuery(win.document).trigger(name, data); } var getWindow = function() { return window.parent !== window && window.parent.jQuery ? window.parent : window; }