From 1e64c4c0ba6167b95a7861974554204e869f3a57 Mon Sep 17 00:00:00 2001 From: Heinrich Fenkart <hnrch02@gmail.com> Date: Wed, 18 Jun 2014 21:32:03 +0200 Subject: [PATCH] Update QUnit settings/QUnit phantomjs bridge to new versions --- js/tests/index.html | 21 +++++++------ js/tests/unit/phantom.js | 64 +++++++++++++++++++++------------------- 2 files changed, 44 insertions(+), 41 deletions(-) diff --git a/js/tests/index.html b/js/tests/index.html index 363ebe599a..3acd366288 100644 --- a/js/tests/index.html +++ b/js/tests/index.html @@ -13,23 +13,22 @@ <script> // See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit var log = [] - QUnit.done = function (test_results) { - var tests = log.map(function (details) { - return { + QUnit.done(function (testResults) { + var tests = [] + for (var i = 0, len = log.length; i < len; i++) { + var details = log[i] + tests.push({ name: details.name, result: details.result, expected: details.expected, actual: details.actual, source: details.source - } - }) - test_results.tests = tests + }) + } + testResults.tests = tests - // Delaying results a bit because in real-world scenario you won't get them immediately - setTimeout(function () { - window.global_test_results = test_results - }, 2000) - } + window.global_test_results = testResults + }) QUnit.testStart(function (testDetails) { QUnit.log = function (details) { diff --git a/js/tests/unit/phantom.js b/js/tests/unit/phantom.js index b5f0c67a67..ea7455cfc3 100644 --- a/js/tests/unit/phantom.js +++ b/js/tests/unit/phantom.js @@ -2,7 +2,7 @@ * grunt-contrib-qunit * http://gruntjs.com/ * - * Copyright (c) 2013 "Cowboy" Ben Alman, contributors + * Copyright (c) 2014 "Cowboy" Ben Alman, contributors * Licensed under the MIT license. */ @@ -21,48 +21,52 @@ } // These methods connect QUnit to PhantomJS. - QUnit.log = function (obj) { + QUnit.log(function (obj) { // What is this I don’t even if (obj.message === '[object Object], undefined:undefined') { return } + // Parse some stuff before sending it. - var actual = QUnit.jsDump.parse(obj.actual) - var expected = QUnit.jsDump.parse(obj.expected) + var actual + var expected + if (!obj.result) { + // Dumping large objects can be very slow, and the dump isn't used for + // passing tests, so only dump if the test failed. + actual = QUnit.jsDump.parse(obj.actual) + expected = QUnit.jsDump.parse(obj.expected) + } // Send it. sendMessage('qunit.log', obj.result, actual, expected, obj.message, obj.source) - } + }) - QUnit.testStart = function (obj) { + QUnit.testStart(function (obj) { sendMessage('qunit.testStart', obj.name) - } + }) - QUnit.testDone = function (obj) { - sendMessage('qunit.testDone', obj.name, obj.failed, obj.passed, obj.total) - } + QUnit.testDone(function (obj) { + sendMessage('qunit.testDone', obj.name, obj.failed, obj.passed, obj.total, obj.duration) + }) - QUnit.moduleStart = function (obj) { + QUnit.moduleStart(function (obj) { sendMessage('qunit.moduleStart', obj.name) - } + }) - QUnit.begin = function () { - sendMessage('qunit.begin') - console.log('Starting test suite') - console.log('================================================\n') - } - - QUnit.moduleDone = function (opts) { - if (opts.failed === 0) { - console.log('\r\u2714 All tests passed in "' + opts.name + '" module') + QUnit.moduleDone(function (obj) { + if (obj.failed === 0) { + console.log('\r\u2714 All tests passed in "' + obj.name + '" module') } else { - console.log('\u2716 ' + opts.failed + ' tests failed in "' + opts.name + '" module') + console.log('\u2716 ' + obj.failed + ' tests failed in "' + obj.name + '" module') } - sendMessage('qunit.moduleDone', opts.name, opts.failed, opts.passed, opts.total) - } + sendMessage('qunit.moduleDone', obj.name, obj.failed, obj.passed, obj.total) + }) - QUnit.done = function (opts) { - console.log('\n================================================') - console.log('Tests completed in ' + opts.runtime + ' milliseconds') - console.log(opts.passed + ' tests of ' + opts.total + ' passed, ' + opts.failed + ' failed.') - sendMessage('qunit.done', opts.failed, opts.passed, opts.total, opts.runtime) - } + QUnit.begin(function () { + sendMessage('qunit.begin') + console.log('\n\nStarting test suite') + console.log('================================================\n') + }) + + QUnit.done(function (obj) { + sendMessage('qunit.done', obj.failed, obj.passed, obj.total, obj.runtime) + }) }()) -- GitLab