From e1efe79c695825fb3d8f043af64800eb650f9d39 Mon Sep 17 00:00:00 2001 From: kissrobber Date: Sun, 20 Jul 2014 21:30:06 +0900 Subject: [PATCH] add a stack in summary --- tasks/jasmine.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/tasks/jasmine.js b/tasks/jasmine.js index 35aef31..b31f8fd 100644 --- a/tasks/jasmine.js +++ b/tasks/jasmine.js @@ -233,7 +233,7 @@ module.exports = function(grunt) { phantomjs.on('jasmine.suiteDone', function(suiteMetaData) { suites[suiteMetaData.id].time = suiteMetaData.duration / 1000; - + if(indentLevel > 1) { indentLevel--; } @@ -281,7 +281,8 @@ module.exports = function(grunt) { name: specMetaData.description, errors: specMetaData.failedExpectations.map(function(error){ return { - message: error.message + message: error.message, + stack: error.stack }; }) }); @@ -368,11 +369,20 @@ module.exports = function(grunt) { _.forEach(tests, function(test){ grunt.log.writeln(chalk.red(symbols[options.display]['error']) + ' ' + test.suite + ' ' + test.name); _.forEach(test.errors, function(error){ - grunt.log.writeln(' ' + chalk.red(error.message)); + grunt.log.writeln(indent(2) + chalk.red(error.message)); + logStack(error.stack, 2); }); }); } + function logStack(stack, indentLevel) { + var lines = (stack || '').split('\n'); + var newArr = []; + for (var i = 0; i < lines.length && i < 11; i++) { + grunt.log.writeln((indent(indentLevel) + lines[i])); + } + } + function writeJunitXml(testsuites){ var template = grunt.file.read(options.junit.template || junitTemplate); if (options.junit.consolidate) {