(function(){
if (typeof QUnit !== 'undefined'){
var QUnitAutostart = (QUnit.config.autostart === undefined) ? true : QUnit.config.autostart;
//check to make sure requirejs is completed before we start the test runner
var allLoaded = function() {
return window.QUnit.config.queue.length > 0 && blanket.noConflict().requireFilesLoaded();
};
function shouldAutoStart() {
return !(blanket.options("existingRequireJS") && !blanket.options("autoStart")) && QUnitAutostart;
}
if (!QUnit.config.urlConfig[0].tooltip){
//older versions we run coverage automatically
//and we change how events are binded
QUnit.begin=function(){
blanket.noConflict().setupCoverage();
};
QUnit.done=function(failures, total) {
blanket.noConflict().onTestsDone();
};
QUnit.moduleStart=function( details ) {
blanket.noConflict().onModuleStart();
};
QUnit.testStart=function( details ) {
blanket.noConflict().onTestStart();
};
QUnit.testDone=function( details ) {
blanket.noConflict().onTestDone(details.total,details.passed);
};
blanket.beforeStartTestRunner({
condition: allLoaded,
callback: QUnit.start
});
}else{
QUnit.config.urlConfig.push({
id: "coverage",
label: "Enable coverage",
tooltip: "Enable code coverage."
});
if ( QUnit.urlParams.coverage || blanket.options("autoStart") ) {
QUnit.config.autostart = false;
QUnit.begin(function(){
blanket.noConflict().setupCoverage();
});
QUnit.done(function(failures, total) {
blanket.noConflict().onTestsDone();
});
QUnit.moduleStart(function( details ) {
blanket.noConflict().onModuleStart();
});
QUnit.testStart(function( details ) {
blanket.noConflict().onTestStart();
});
QUnit.testDone(function( details ) {
blanket.noConflict().onTestDone(details.total,details.passed);
});
blanket.noConflict().beforeStartTestRunner({
condition: allLoaded,
callback: function(){
if (shouldAutoStart()){
QUnit.start();
}
}
});
}
}
}
})();