var objectCoverage = {}
,	reallyDone = false;

function indexOf(a, v) {
    var i;
    for (i = 0; i != a.length; ++i) if (a[i] === v) return i;
    return -1;
};

// Some useful functions for finding out what coverage we have:
var covers = function (object, ObjectName) {
    var obj = objectCoverage[ObjectName] || (objectCoverage[ObjectName || Object.prototype.toString.call(object)] = {
        object: object,
        coverage: []
    });
    for (i = 2; i < arguments.length; ++i) {
        if (indexOf(obj.coverage, arguments[i]) === -1) {
            obj.coverage.push(arguments[i]);
        }
    }
};

var done = function (args) {
    if ( args.passed && args.total && !reallyDone) {
        reallyDone = true;
        QUnit.module('Test Coverage');
        QUnit.test('Analysis', function () {
            var fnNames
            ,   ob
            ,   success;
            
            for (var obName in objectCoverage) {
                fnNames = [];
                ob = objectCoverage[obName];
                
                for (var fnName in ob.object) {
                    if (typeof ob.object[fnName] === 'function') {
                        success = ob.coverage.indexOf(fnName) !== -1;
                        ok(success, 'Coverage for ' + fnName + (success ? ' added' : ' not present!'));
                    }
                }

            }

        });
    }
};

if (typeof module != 'undefined' && module.exports) {
	module.exports = {
		covers: covers,
		done: done
	}
} else {
	this.done = done;
	this.covers = covers;
}
@@ -1,12 +1,39 @@
+/*jslint laxcomma: true */%0A
 var objectCo
@@ -181,17 +181,16 @@
 rn -1;%0A%7D
-;
 %0A%0A// Som
@@ -892,16 +892,17 @@
 uccess;%0A
+%0A
         
@@ -1039,32 +1039,33 @@
                %0A
+%0A
                 
@@ -1197,16 +1197,24 @@
 ccess = 
+indexOf(
 ob.cover
@@ -1220,17 +1220,10 @@
 rage
-.indexOf(
+, 
 fnNa
@@ -1525,10 +1525,11 @@
 one%0A
-
 %09%7D
+;
 %0A%7D e

Fix failing coverage tests in IE<=8