mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-05-24 20:14:37 -04:00
Refactor test code.
This commit is contained in:
parent
21c976bb3d
commit
b95aa583a9
1 changed files with 46 additions and 41 deletions
|
@ -1,63 +1,68 @@
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
var showOnlyFailures = false;
|
||||||
|
|
||||||
|
function toggleFailureFilter(ev) {
|
||||||
|
|
||||||
|
ev.stopImmediatePropagation();
|
||||||
|
|
||||||
|
showOnlyFailures = !showOnlyFailures;
|
||||||
|
if (showOnlyFailures) {
|
||||||
|
$('.suite, .test').hide();
|
||||||
|
$('.suite.fail, .test.fail').show();
|
||||||
|
} else {
|
||||||
|
$('.suite, .test').show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addSuiteStats() {
|
||||||
|
|
||||||
|
var $suite = $(this);
|
||||||
|
|
||||||
|
var tests = $suite.find('.test').length;
|
||||||
|
var passed = $suite.find('.test.pass').length;
|
||||||
|
var failed = tests - passed;
|
||||||
|
|
||||||
|
var $header = $suite.find('> h1 a');
|
||||||
|
var $count = $('<span class="count"><span class="passed">' + passed + '</span><span class="failed">' + failed + '</span></span>');
|
||||||
|
|
||||||
|
if (!failed) {
|
||||||
|
$count.find('.failed').remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
$suite.addClass(tests === passed ? 'pass' : 'fail');
|
||||||
|
$header.append($count);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fixCodeFormatting() {
|
||||||
|
|
||||||
|
var $code = $(this);
|
||||||
|
$code.text($code.text().trim().replace(/;\n\s*/g, ';\n'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function onEnd() {
|
function onEnd() {
|
||||||
|
|
||||||
var runner = this;
|
var runner = this;
|
||||||
var failed = runner.stats.failures > 0;
|
var failed = runner.stats.failures > 0;
|
||||||
var stats = (runner.stats.duration / 1000.0).toFixed(2) + 's';
|
var stats = (runner.stats.duration / 1000.0).toFixed(3) + 's';
|
||||||
|
|
||||||
if (failed) {
|
if (failed) {
|
||||||
var onlyFailures = false;
|
$('#report .stats').on('click', toggleFailureFilter);
|
||||||
$('#report .stats').on('click', function (ev) {
|
|
||||||
|
|
||||||
onlyFailures = !onlyFailures;
|
|
||||||
if (onlyFailures) {
|
|
||||||
$('.suite, .test').hide();
|
|
||||||
$('.suite.fail, .test.fail').show();
|
|
||||||
} else {
|
|
||||||
$('.suite, .test').show();
|
|
||||||
}
|
|
||||||
ev.stopImmediatePropagation();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#report').addClass(failed ? 'fail' : 'pass');
|
$('#report').addClass(failed ? 'fail' : 'pass');
|
||||||
$('#report .progress').hide();
|
$('#report .progress').hide();
|
||||||
$('#report .stats').text(stats);
|
$('#report .stats').text(stats);
|
||||||
|
$('#mocha-overlay .suite').each(addSuiteStats);
|
||||||
$('#mocha-overlay .suite').each(function () {
|
$('#mocha-overlay code').each(fixCodeFormatting);
|
||||||
|
|
||||||
var $suite = $(this);
|
|
||||||
|
|
||||||
var tests = $suite.find('.test').length;
|
|
||||||
var passed = $suite.find('.test.pass').length;
|
|
||||||
var failed = tests - passed;
|
|
||||||
|
|
||||||
var $header = $suite.find('> h1 a');
|
|
||||||
var $count = $('<span class="count"><span class="passed">' + passed + '</span><span class="failed">' + failed + '</span></span>');
|
|
||||||
|
|
||||||
if (!failed) {
|
|
||||||
$count.find('.failed').remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
$suite.addClass(tests === passed ? 'pass' : 'fail');
|
|
||||||
$header.append($count);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#mocha-overlay code').each(function () {
|
|
||||||
|
|
||||||
var $code = $(this);
|
|
||||||
$code.text($code.text().trim().replace(/;\n\s*/g, ';\n'));
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTest() {
|
function onTest() {
|
||||||
|
|
||||||
var runner = this;
|
var runner = this;
|
||||||
var complete = runner.stats.tests;
|
var percent = 100.0 - 100.0 * runner.stats.tests / runner.total;
|
||||||
var total = runner.total;
|
|
||||||
var percent = 100.0 - 100.0 * complete / total;
|
|
||||||
|
|
||||||
if (runner.stats.failures) {
|
if (runner.stats.failures) {
|
||||||
$('#report').addClass('fail');
|
$('#report').addClass('fail');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue