diff options
Diffstat (limited to 'test/jqLiteSpec.js')
| -rw-r--r-- | test/jqLiteSpec.js | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index f159e08f..406b7a5a 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -291,11 +291,37 @@ describe('jqLite', function() { expect(element.data()).toEqual({meLike: 'turtles', youLike: 'carrots', existing: 'val'}); expect(element.data()).toBe(oldData); // merge into the old object }); + + describe('data cleanup', function() { + it('should remove data on element removal', function() { + var div = jqLite('<div><span>text</span></div>'), + span = div.find('span'); + + span.data('name', 'angular'); + span.remove(); + expect(span.data('name')).toBeUndefined(); + }); + + it('should remove event listeners on element removal', function() { + var div = jqLite('<div><span>text</span></div>'), + span = div.find('span'), + log = ''; + + span.bind('click', function() { log+= 'click;'}); + browserTrigger(span); + expect(log).toEqual('click;'); + + span.remove(); + + browserTrigger(span); + expect(log).toEqual('click;'); + }); + }); }); describe('attr', function() { - it('shoul read write and remove attr', function() { + it('should read write and remove attr', function() { var selector = jqLite([a, b]); expect(selector.attr('prop', 'value')).toEqual(selector); @@ -667,7 +693,7 @@ describe('jqLite', function() { var jWindow = jqLite(window).bind('hashchange', function() { log = 'works!'; }); - eventFn({}); + eventFn({type: 'hashchange'}); expect(log).toEqual('works!'); dealoc(jWindow); }); |
