Merge branch 'fix/number-compare-failure' of https://github.com/dubzzz/jasmine

* Merges #1764 from @dubzzz
This commit is contained in:
Steve Gravrock
2019-11-02 11:52:01 -07:00
3 changed files with 10 additions and 2 deletions

View File

@@ -4321,7 +4321,7 @@ getJasmineRequireObj().matchersUtil = function(j$) {
case '[object Number]':
// `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
// other numeric values.
result = a != +a ? b != +b : (a === 0 ? 1 / a == 1 / b : a == +b);
result = a != +a ? b != +b : (a === 0 && b === 0 ? 1 / a == 1 / b : a == +b);
if (!result) {
diffBuilder.record(a, b);
}

View File

@@ -334,6 +334,14 @@ describe("toEqual", function() {
expect(compareEquals(actual, expected).message).toEqual(message);
});
it("reports mismatches between 0 and Number.MIN_VALUE", function() {
var actual = {x: 0},
expected = {x: Number.MIN_VALUE},
message = "Expected $.x = 0 to equal 5e-324.";
expect(compareEquals(actual, expected).message).toEqual(message);
});
it("reports mismatches between Errors", function() {
var actual = {x: new Error("the error you got")},
expected = {x: new Error("the error you want")},

View File

@@ -162,7 +162,7 @@ getJasmineRequireObj().matchersUtil = function(j$) {
case '[object Number]':
// `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
// other numeric values.
result = a != +a ? b != +b : (a === 0 ? 1 / a == 1 / b : a == +b);
result = a != +a ? b != +b : (a === 0 && b === 0 ? 1 / a == 1 / b : a == +b);
if (!result) {
diffBuilder.record(a, b);
}