diff --git a/lib/jasmine-core/jasmine.js b/lib/jasmine-core/jasmine.js index 4761f6f9..e0516c74 100644 --- a/lib/jasmine-core/jasmine.js +++ b/lib/jasmine-core/jasmine.js @@ -510,23 +510,23 @@ jasmine.util.extend = function(destination, source) { //TODO: expectation result may make more sense as a presentation of an expectation. jasmine.ExpectationResult = function(params) { - this.type = 'expect'; - this.matcherName = params.matcherName; - this.passed_ = params.passed; - this.expected = params.expected; - this.actual = params.actual; - this.message = this.passed_ ? 'Passed.' : params.message; - + var self = this; var trace = (params.trace || new Error(this.message)); - this.trace = this.passed_ ? '' : trace; -}; - -jasmine.ExpectationResult.prototype.toString = function () { - return this.message; -}; - -jasmine.ExpectationResult.prototype.passed = function () { - return this.passed_; + var message = params.passed ? 'Passed.' : params.message; + return jasmine.util.extend(self, { + type: 'expect', + matcherName: params.matcherName, + expected: params.expected, + actual: params.actual, + message: message, + trace: params.passed ? '' : trace, + toString: function() { + return message; + }, + passed: function() { + return params.passed; + } + }); }; /** * Environment for Jasmine diff --git a/spec/core/CustomMatchersSpec.js b/spec/core/CustomMatchersSpec.js index 86f98547..55c52067 100644 --- a/spec/core/CustomMatchersSpec.js +++ b/spec/core/CustomMatchersSpec.js @@ -61,12 +61,10 @@ describe("Custom Matchers", function() { }); suite.execute(); - var passResult = new jasmine.ExpectationResult({passed: true, matcherName: 'toBeTrue', - actual: true, expected: jasmine.undefined, message: "Passed." }); - var failResult = new jasmine.ExpectationResult({passed: false, matcherName: 'toBeTrue', - actual: false, expected: jasmine.undefined, message: "Expected false to be true." }); - failResult.trace = originalJasmine.any(Object); - expect(spec.results().getItems()).toEqual([passResult, failResult]); + + var results = spec.results().getItems(); + expect(results[0].message).toEqual("Passed."); + expect(results[1].message).toEqual("Expected false to be true."); }); it("should pass args", function() { diff --git a/spec/core/ExpectationResultSpec.js b/spec/core/ExpectationResultSpec.js index b84b1f97..03f52036 100644 --- a/spec/core/ExpectationResultSpec.js +++ b/spec/core/ExpectationResultSpec.js @@ -5,11 +5,16 @@ describe("ExpectationResult", function() { expect(result.passed()).toBe('some-value'); }); - it("#toString returns message", function() { - var result = new jasmine.ExpectationResult({message: 'some-value'}); + it("#toString returns message when failing", function() { + var result = new jasmine.ExpectationResult({passed: false, message: 'some-value'}); expect(result.toString()).toBe('some-value'); }); + it("#toString returns Passed when passing", function() { + var result = new jasmine.ExpectationResult({passed: true, message: 'some-value'}); + expect(result.toString()).toBe('Passed.'); + }); + it("has a type of expect", function() { var result = new jasmine.ExpectationResult({}); expect(result.type).toBe('expect'); diff --git a/spec/node_suite.js b/spec/node_suite.js index bd2867b3..7bd9c480 100644 --- a/spec/node_suite.js +++ b/spec/node_suite.js @@ -110,7 +110,7 @@ process.argv.forEach(function(arg) { } }); -var specs = jasmine.getAllSpecFiles(__dirname, new RegExp(".js$")); +var specs = jasmine.getAllSpecFiles(__dirname, new RegExp("Spec.js$")); var domIndependentSpecs = []; for (var i = 0; i < specs.length; i++) { if (fs.readFileSync(specs[i], "utf8").indexOf("document.createElement") < 0) { diff --git a/src/core/ExpectationResult.js b/src/core/ExpectationResult.js index 9c49cbc5..b33dd01a 100644 --- a/src/core/ExpectationResult.js +++ b/src/core/ExpectationResult.js @@ -1,20 +1,20 @@ //TODO: expectation result may make more sense as a presentation of an expectation. jasmine.ExpectationResult = function(params) { - this.type = 'expect'; - this.matcherName = params.matcherName; - this.passed_ = params.passed; - this.expected = params.expected; - this.actual = params.actual; - this.message = this.passed_ ? 'Passed.' : params.message; - + var self = this; var trace = (params.trace || new Error(this.message)); - this.trace = this.passed_ ? '' : trace; -}; - -jasmine.ExpectationResult.prototype.toString = function () { - return this.message; -}; - -jasmine.ExpectationResult.prototype.passed = function () { - return this.passed_; + var message = params.passed ? 'Passed.' : params.message; + return jasmine.util.extend(self, { + type: 'expect', + matcherName: params.matcherName, + expected: params.expected, + actual: params.actual, + message: message, + trace: params.passed ? '' : trace, + toString: function() { + return message; + }, + passed: function() { + return params.passed; + } + }); };