summaryrefslogtreecommitdiffstats
path: root/third_party/blanketjs/src/qunit_adapter.js
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/blanketjs/src/qunit_adapter.js')
-rw-r--r--third_party/blanketjs/src/qunit_adapter.js73
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