mirror of
https://github.com/Modernizr/Modernizr.git
synced 2026-01-09 15:47:55 -05:00
* Show warnings too when linting * Fix some jsdoc warnings * Cleanup globals * Use recommended jsdoc settings * Fix wrong "false" return parameters
73 lines
1.6 KiB
JavaScript
73 lines
1.6 KiB
JavaScript
/*global __coverage__*/
|
|
$(document).ready(function() {
|
|
|
|
var runner = mocha.run();
|
|
|
|
var results = {
|
|
passed: 0,
|
|
failed: 0,
|
|
total: 0,
|
|
tests: []
|
|
};
|
|
|
|
runner.once('suite', function() {
|
|
mocha.suite.afterAll('send coverage', function(done) {
|
|
// ensure timeout errors block normal reporting, to ensure the entire suite is retried
|
|
if (!window.global_test_results) {
|
|
// opera 12 can't handle the default `window.mochaResults`, so we build
|
|
// generic test data instead
|
|
window.global_test_results = results;
|
|
}
|
|
|
|
if (window.__coverage__) {
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: '/coverage/client',
|
|
data: JSON.stringify(__coverage__),
|
|
success: function() {
|
|
done();
|
|
}
|
|
});
|
|
} else {
|
|
done();
|
|
}
|
|
});
|
|
});
|
|
|
|
runner.on('fail', logFailure);
|
|
|
|
function logFailure(test, err) {
|
|
var isTimeout = _.includes(err.toString(), 'Ensure the done() callback is being called in this test.');
|
|
|
|
if (isTimeout) {
|
|
return window.global_test_results = {message: err};
|
|
}
|
|
|
|
if (err) {
|
|
results.failed += 1;
|
|
} else {
|
|
results.passed += 1;
|
|
}
|
|
|
|
results.total += 1;
|
|
|
|
var flattenTitles = function(test) {
|
|
var titles = [];
|
|
while (test.parent.title) {
|
|
titles.push(test.parent.title);
|
|
test = test.parent;
|
|
}
|
|
return titles.reverse();
|
|
};
|
|
|
|
results.tests.push({
|
|
name: test.title,
|
|
result: err ? false : true,
|
|
message: err ? err.message : 'passe',
|
|
stack: err ? err.stack : undefined,
|
|
titles: flattenTitles(test)
|
|
});
|
|
}
|
|
});
|
|
|