diff options
| author | Igor Minar | 2011-03-31 01:17:34 -0700 | 
|---|---|---|
| committer | Igor Minar | 2011-03-31 01:17:34 -0700 | 
| commit | 56c00800c78d3d896fa6cb97ab97b974805152c4 (patch) | |
| tree | 9eea63f150ad3b67527c6ae3805883912c4ba1ac /test/jqLiteSpec.js | |
| parent | 15ec78f5eff3f8fa74714fe10986be094915c800 (diff) | |
| download | angular.js-56c00800c78d3d896fa6cb97ab97b974805152c4.tar.bz2 | |
fix jqLite#parent to be compatible with jQuery
our original implementation doesn't work with
document fragments on IE
- tests were added to cover missing cases
Diffstat (limited to 'test/jqLiteSpec.js')
| -rw-r--r-- | test/jqLiteSpec.js | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 346017f1..2fc670ce 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -323,11 +323,30 @@ describe('jqLite', function(){      });    });    describe('parent', function(){ +    it('should return parent or an empty set when no parent', function(){ +      var parent = jqLite('<div><p>abc</p></div>'), +          child = parent.find('p'); + +      expect(parent.parent()).toBeTruthy(); +      expect(parent.parent().length).toEqual(0); + +      expect(child.parent().length).toBe(1); +      expect(child.parent()[0]).toBe(parent[0]); +    });      it('should return empty set when no parent', function(){        var element = jqLite('<div>abc</div>');        expect(element.parent()).toBeTruthy();        expect(element.parent().length).toEqual(0);      }); +    it('should return empty jqLite object when parent is a document fragment', function() { +      //this is quite unfortunate but jQuery 1.5.1 behaves this way +      var fragment = document.createDocumentFragment(), +          child = jqLite('<p>foo</p>'); + +      fragment.appendChild(child[0]); +      expect(child[0].parentNode).toBe(fragment); +      expect(child.parent().length).toBe(0); +    });    });    describe('next', function(){      it('should return next sibling', function(){  | 
