From dfed37531edbb7d5f38b5102ead16f4bdfc77a41 Mon Sep 17 00:00:00 2001 From: "Davis W. Frank & Rajan Agaskar" Date: Thu, 29 Nov 2012 12:17:43 -0800 Subject: [PATCH] Add unit coverage for ExpectationResult --- lib/jasmine-core/jasmine.js | 1 + spec/core/ExpectationResultSpec.js | 53 ++++++++++++++++++++++++++++++ spec/runner.html | 1 + src/core/ExpectationResult.js | 1 + tasks/jasmine_dev/count_specs.rb | 2 +- 5 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 spec/core/ExpectationResultSpec.js diff --git a/lib/jasmine-core/jasmine.js b/lib/jasmine-core/jasmine.js index b7bbbee9..4761f6f9 100644 --- a/lib/jasmine-core/jasmine.js +++ b/lib/jasmine-core/jasmine.js @@ -508,6 +508,7 @@ jasmine.util.extend = function(destination, source) { return destination; }; +//TODO: expectation result may make more sense as a presentation of an expectation. jasmine.ExpectationResult = function(params) { this.type = 'expect'; this.matcherName = params.matcherName; diff --git a/spec/core/ExpectationResultSpec.js b/spec/core/ExpectationResultSpec.js new file mode 100644 index 00000000..b84b1f97 --- /dev/null +++ b/spec/core/ExpectationResultSpec.js @@ -0,0 +1,53 @@ +describe("ExpectationResult", function() { + + it("defaults to passed", function() { + var result = new jasmine.ExpectationResult({passed: 'some-value'}); + expect(result.passed()).toBe('some-value'); + }); + + it("#toString returns message", function() { + var result = new jasmine.ExpectationResult({message: 'some-value'}); + expect(result.toString()).toBe('some-value'); + }); + + it("has a type of expect", function() { + var result = new jasmine.ExpectationResult({}); + expect(result.type).toBe('expect'); + }); + + it("message defaults to Passed for passing specs", function() { + var result = new jasmine.ExpectationResult({passed: true, message: 'some-value'}); + expect(result.message).toBe('Passed.'); + }); + + it("message returns the message for failing specs", function() { + var result = new jasmine.ExpectationResult({passed: false, message: 'some-value'}); + expect(result.message).toBe('some-value'); + }); + + it("trace passes trace if exists", function() { + var result = new jasmine.ExpectationResult({trace: 'some-value'}); + expect(result.trace).toBe('some-value'); + }); + + it("trace returns a new error if trace is falsy", function() { + var result = new jasmine.ExpectationResult({trace: false}); + expect(result.trace).toEqual(jasmine.any(Error)); + }); + + it("matcherName returns passed matcherName", function() { + var result = new jasmine.ExpectationResult({matcherName: 'some-value'}); + expect(result.matcherName).toBe('some-value'); + }); + + it("expected returns passed expected", function() { + var result = new jasmine.ExpectationResult({expected: 'some-value'}); + expect(result.expected).toBe('some-value'); + }); + + it("actual returns passed actual", function() { + var result = new jasmine.ExpectationResult({actual: 'some-value'}); + expect(result.actual).toBe('some-value'); + }); + +}); diff --git a/spec/runner.html b/spec/runner.html index 0cde61fb..f9862c60 100644 --- a/spec/runner.html +++ b/spec/runner.html @@ -29,6 +29,7 @@ + diff --git a/src/core/ExpectationResult.js b/src/core/ExpectationResult.js index 39ac68ef..9c49cbc5 100644 --- a/src/core/ExpectationResult.js +++ b/src/core/ExpectationResult.js @@ -1,3 +1,4 @@ +//TODO: expectation result may make more sense as a presentation of an expectation. jasmine.ExpectationResult = function(params) { this.type = 'expect'; this.matcherName = params.matcherName; diff --git a/tasks/jasmine_dev/count_specs.rb b/tasks/jasmine_dev/count_specs.rb index b6839393..3b4de60e 100644 --- a/tasks/jasmine_dev/count_specs.rb +++ b/tasks/jasmine_dev/count_specs.rb @@ -26,4 +26,4 @@ class JasmineDev < Thor end end end -end \ No newline at end of file +end