Skip to content

Commit

Permalink
fixup! HTML Reporter: Support QUnit.todo
Browse files Browse the repository at this point in the history
  • Loading branch information
Trent Willis committed Feb 5, 2017
1 parent 5bc74b3 commit 99a995d
Showing 1 changed file with 16 additions and 18 deletions.
34 changes: 16 additions & 18 deletions reporter/html.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { window, navigator } from "../src/globals";
import "./urlparams";

const stats = {
totalTests: 0,
passedTests: 0,
failedTests: 0,
skippedTests: 0,
Expand Down Expand Up @@ -628,8 +627,9 @@ QUnit.done( function( details ) {
var banner = id( "qunit-banner" ),
tests = id( "qunit-tests" ),
abortButton = id( "qunit-abort-tests-button" ),
totalTests = stats.passedTests + stats.skippedTests + stats.todoTests + stats.failedTests,
html = [
stats.totalTests,
totalTests,
" tests completed in ",
details.runtime,
" milliseconds, with ",
Expand Down Expand Up @@ -832,18 +832,17 @@ QUnit.testDone( function( details ) {
return;
}

stats.totalTests++;

testItem = id( "qunit-test-output-" + details.testId );

assertList = testItem.getElementsByTagName( "ol" )[ 0 ];

good = details.passed;
bad = details.failed;

let failed = details.todo ? !details.failed : !!details.failed;
// This test passed if it has no unexpected failed assertions
let testPassed = details.failed > 0 ? details.todo : !details.todo;

if ( !failed ) {
if ( testPassed ) {

// Collapse the passing tests
addClass( assertList, "qunit-collapsed" );
Expand Down Expand Up @@ -871,6 +870,7 @@ QUnit.testDone( function( details ) {

if ( details.skipped ) {
stats.skippedTests++;

testItem.className = "skipped";
skipped = document.createElement( "em" );
skipped.className = "qunit-skipped-label";
Expand All @@ -881,23 +881,13 @@ QUnit.testDone( function( details ) {
toggleClass( assertList, "qunit-collapsed" );
} );

testItem.className = failed ? "fail" : "pass";
testItem.className = testPassed ? "pass" : "fail";

if ( details.todo ) {
if ( failed ) {
stats.failedTests++;
} else {
stats.todoTests++;
}

let todoLabel = document.createElement( "em" );
todoLabel.className = "qunit-todo-label";
todoLabel.innerHTML = "todo";
testItem.insertBefore( todoLabel, testTitle );
} else if ( failed ) {
stats.failedTest++;
} else {
stats.passedTests++;
}

time = document.createElement( "span" );
Expand All @@ -906,12 +896,20 @@ QUnit.testDone( function( details ) {
testItem.insertBefore( time, assertList );
}

if ( !testPassed ) {
stats.failedTests++;
} else if ( details.todo ) {
stats.todoTests++;
} else {
stats.passedTests++;
}

// Show the source of the test when showing assertions
if ( details.source ) {
sourceName = document.createElement( "p" );
sourceName.innerHTML = "<strong>Source: </strong>" + details.source;
addClass( sourceName, "qunit-source" );
if ( !failed ) {
if ( testPassed ) {
addClass( sourceName, "qunit-collapsed" );
}
addEvent( testTitle, "click", function() {
Expand Down

0 comments on commit 99a995d

Please sign in to comment.