public/lib/emberjs/ember.js
function(obj) {
        // fail fast
        if (!Enumerable.detect(obj)) return false;

        var loc = get(this, 'length');
        if (get(obj, 'length') !== loc) return false;

        while(--loc >= 0) {
          if (!obj.contains(this[loc])) return false;
        }

        return true;
      }
function(obj) {
        // fail fast
        if (!Enumerable.detect(obj)) return false;

        var loc = get(this, 'length');
        if (get(obj, 'length') !== loc) return false;

        while(--loc >= 0) {
          if (!obj.contains(this[loc])) return false;
        }

        return true;
      }
function ( obj ) { // fail fast if ( ! Enumerable . detect ( obj ) ) return false ; var loc = get ( this , 'length' ) ; if ( get ( obj , 'length' ) !== loc ) return false ; while ( -- loc >= 0 ) { if ( ! obj . contains ( this [ loc ] ) ) return false ; } return true ; }
Returns true if the passed object is also an enumerable that contains the
same objects as the receiver.

```javascript
var colors = ["red", "green", "blue"],
same_colors = new Ember.Set(colors);

same_colors.isEqual(colors);               // true
same_colors.isEqual(["purple", "brown"]);  // false
```

@method isEqual
@param {Ember.Set} obj the other object.
@return {Boolean}
Returns true if the passed object is also an enumerable that contains the same objects as the receiver .