Handle string comparisons correctly with equals_

This commit is contained in:
ragaskar 2010-03-17 08:19:29 -07:00
parent dec92322f1
commit c85079e9d0
4 changed files with 32 additions and 1 deletions

View File

@ -92,6 +92,16 @@ jasmine.isArray_ = function(value) {
return Object.prototype.toString.apply(value) === '[object Array]';
};
/**
* @ignore
* @private
* @param value
* @returns {Boolean}
*/
jasmine.isString_ = function(value) {
return Object.prototype.toString.apply(value) === '[object String]';
};
/**
* Pretty printer for expecations. Takes any object and turns it into a human-readable string.
*
@ -822,6 +832,10 @@ jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) {
return b.matches(a);
}
if (jasmine.isString_(a) && jasmine.isString_(b)) {
return (a == b);
}
if (typeof a === "object" && typeof b === "object") {
return this.compareObjects_(a, b, mismatchKeys, mismatchValues);
}
@ -2275,5 +2289,5 @@ jasmine.version_= {
"major": 0,
"minor": 10,
"build": 1,
"revision": 1268680515
"revision": 1268838574
};

View File

@ -54,6 +54,9 @@ describe("jasmine.Matchers", function() {
expect((match(['a', 'b']).toEqual(['a', jasmine.undefined]))).toEqual(false);
expect((match(['a', 'b']).toEqual(['a', 'b', jasmine.undefined]))).toEqual(false);
expect((match(new String("cat")).toEqual("cat"))).toBe(true);
expect((match(new String("cat")).toNotEqual("cat"))).toBe(false);
});
it("toEqual to build an Expectation Result", function() {

View File

@ -209,6 +209,10 @@ jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) {
return b.matches(a);
}
if (jasmine.isString_(a) && jasmine.isString_(b)) {
return (a == b);
}
if (typeof a === "object" && typeof b === "object") {
return this.compareObjects_(a, b, mismatchKeys, mismatchValues);
}

View File

@ -92,6 +92,16 @@ jasmine.isArray_ = function(value) {
return Object.prototype.toString.apply(value) === '[object Array]';
};
/**
* @ignore
* @private
* @param value
* @returns {Boolean}
*/
jasmine.isString_ = function(value) {
return Object.prototype.toString.apply(value) === '[object String]';
};
/**
* Pretty printer for expecations. Takes any object and turns it into a human-readable string.
*