merging in jasondavies isEqual patch for wrapped objects.

This commit is contained in:
Jeremy Ashkenas
2010-12-03 10:03:30 -05:00
parent 85f1c770df
commit 70d760f4f5
2 changed files with 8 additions and 8 deletions

View File

@@ -70,13 +70,13 @@ $(document).ready(function() {
asyncTest("functions: throttle", 1, function() {
var counter = 0;
var incr = function(){ counter++; };
var throttledIncr = _.throttle(incr, 50);
var throttledIncr = _.throttle(incr, 100);
throttledIncr(); throttledIncr(); throttledIncr();
setTimeout(throttledIncr, 60);
setTimeout(throttledIncr, 70);
setTimeout(throttledIncr, 110);
setTimeout(throttledIncr, 120);
_.delay(function(){ ok(counter == 3, "incr was throttled"); start(); }, 200);
setTimeout(throttledIncr, 140);
setTimeout(throttledIncr, 220);
setTimeout(throttledIncr, 240);
_.delay(function(){ ok(counter == 3, "incr was throttled"); start(); }, 400);
});
asyncTest("functions: debounce", 1, function() {

View File

@@ -519,9 +519,6 @@
// Perform a deep comparison to check if two objects are equal.
_.isEqual = function(a, b) {
// Unwrap any wrapped objects
if (a && a._chain) a = a.value();
if (b && b._chain) b = b.value();
// Check object identity.
if (a === b) return true;
// Different types?
@@ -531,6 +528,9 @@
if (a == b) return true;
// One is falsy and the other truthy.
if ((!a && b) || (a && !b)) return false;
// Unwrap any wrapped objects
if (a._chain) a = a.value();
if (b._chain) b = b.value();
// One of them implements an isEqual()?
if (a.isEqual) return a.isEqual(b);
// Check dates' integer values.