diff options
Diffstat (limited to 'third_party/blanketjs/src/qunit_adapter.js')
-rw-r--r-- | third_party/blanketjs/src/qunit_adapter.js | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/third_party/blanketjs/src/qunit_adapter.js b/third_party/blanketjs/src/qunit_adapter.js new file mode 100644 index 0000000..a1fb769 --- /dev/null +++ b/third_party/blanketjs/src/qunit_adapter.js @@ -0,0 +1,73 @@ +(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(); + } + } + }); + } + } +} +})();
\ No newline at end of file |