From 5018f0d1c2b957171b03ac5a8a447611f4d94492 Mon Sep 17 00:00:00 2001 From: Steve Conover Date: Mon, 28 Feb 2011 17:13:04 -0800 Subject: [PATCH] spec failure - description --- spec/suites/TrivialNodeReporterSpec.js | 23 +++++++++++++++++++++++ src/node/TrivialNodeReporter.js | 22 +++++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/spec/suites/TrivialNodeReporterSpec.js b/spec/suites/TrivialNodeReporterSpec.js index f159a87..fbe45bc 100644 --- a/spec/suites/TrivialNodeReporterSpec.js +++ b/spec/suites/TrivialNodeReporterSpec.js @@ -153,6 +153,29 @@ describe("TrivialNodeReporter", function() { }); describe('Finishes', function(){ + + describe('Spec failure information', function(){ + + it("prints suite and spec descriptions together as a sentence", function(){ + this.reporter.suiteResults = [ + {description:"The oven", failedSpecResults:[ + {description:"heats up"}, + {description:"cleans itself"} + ]}, + {description:"The mixer", failedSpecResults:[ + {description:"blends things together"} + ]} + ] + + this.reporter.reportRunnerResults(failingRun); + + expect(this.fakeSys.getOutput()).toContain("The oven heats up"); + expect(this.fakeSys.getOutput()).toContain("The oven cleans itself"); + expect(this.fakeSys.getOutput()).toContain("The mixer blends things together"); + }); + + }) + describe('Finished line', function(){ it("prints the elapsed time in the summary message", function(){ diff --git a/src/node/TrivialNodeReporter.js b/src/node/TrivialNodeReporter.js index dcec5a7..5745370 100644 --- a/src/node/TrivialNodeReporter.js +++ b/src/node/TrivialNodeReporter.js @@ -30,11 +30,17 @@ jasmine.TrivialNodeReporter = function(sys) { function plural(str, count) { return count == 1 ? str : str + "s"; } + function specFailureDetails(suiteDescription, specDescription) { + newline(); + sys.print(suiteDescription + " " + specDescription); + newline(); + } function finished(elapsed) { newline(); sys.print("Finished in " + elapsed/1000 + " seconds"); } function summary(colorF, specs, assertions, failed) { newline(); colorF(sys.print(specs + " " + plural(language.spec, specs) + ", " + assertions + " " + plural(language.assertion, assertions) + ", " + - failed + " " + plural(language.failure, failed))); } + failed + " " + plural(language.failure, failed))); + newline(); } function greenSummary(specs, assertions, failed){ summary(greenStr, specs, assertions, failed); } function redSummary(specs, assertions, failed){ summary(redStr, specs, assertions, failed); } @@ -94,7 +100,21 @@ jasmine.TrivialNodeReporter = function(sys) { this.suiteResults.push(suiteResult); }; + function eachSpecFailure(suiteResults, callback) { + for(var i=0; i