(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(); } } }); } } } })();