diff options
| author | Caitlin Potter | 2014-01-07 20:27:45 -0500 | 
|---|---|---|
| committer | Caitlin Potter | 2014-02-21 17:59:01 -0500 | 
| commit | 75515852ea9742d3d84a0f463c2a2c61ef2b7323 (patch) | |
| tree | c1a778f6a950ea8a658142ea6c5ce573bf51e6a8 | |
| parent | 5fe1f39f027c6f2c6a530975dd5389d788d3c0eb (diff) | |
| download | angular.js-75515852ea9742d3d84a0f463c2a2c61ef2b7323.tar.bz2 | |
fix(isElement): reduce false-positives in isElement tests
Complimentary change to match changed $parse behaviour.
| -rw-r--r-- | src/Angular.js | 2 | ||||
| -rw-r--r-- | test/AngularSpec.js | 20 | 
2 files changed, 21 insertions, 1 deletions
| diff --git a/src/Angular.js b/src/Angular.js index b2905ed9..f1ed847f 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -601,7 +601,7 @@ var trim = (function() {  function isElement(node) {    return !!(node &&      (node.nodeName  // we are a direct element -    || (node.on && node.find)));  // we have an on and find method part of jQuery API +    || (node.prop && node.attr && node.find)));  // we have an on and find method part of jQuery API  }  /** diff --git a/test/AngularSpec.js b/test/AngularSpec.js index 117e8fb0..aa5a5f7b 100644 --- a/test/AngularSpec.js +++ b/test/AngularSpec.js @@ -1127,5 +1127,25 @@ describe('angular', function() {          expect(result).toEqual(expected[idx]);        });      })); + +    // Issue #4805 +    it('should return false for objects resembling a Backbone Collection', function() { +      // Backbone stuff is sort of hard to mock, if you have a better way of doing this, +      // please fix this. +      var fakeBackboneCollection = { +        children: [{}, {}, {}], +        find: function() {}, +        on: function() {}, +        off: function() {}, +        bind: function() {} +      }; +      expect(isElement(fakeBackboneCollection)).toBe(false); +    }); + +    it('should return false for arrays with node-like properties', function() { +      var array = [1,2,3]; +      array.on = true; +      expect(isElement(array)).toBe(false); +    });    });  }); | 
