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