diff options
| author | Igor Minar | 2011-09-16 00:56:19 +0200 |
|---|---|---|
| committer | Igor Minar | 2011-09-16 02:44:30 +0200 |
| commit | 3800d177030d20c5c3d04e3601f892c46e723dc2 (patch) | |
| tree | 6919648ab112aec5a22cf54b3ce8b31b7902f9d5 /test/jqLiteSpec.js | |
| parent | 009059dd1bc7817dbb55fc1b61424fd66a914bc3 (diff) | |
| download | angular.js-3800d177030d20c5c3d04e3601f892c46e723dc2.tar.bz2 | |
feat(jqLite): add prop() support
since jQuery 1.6.4 prop() became very important because attr() does't have access to certain properties any more (e.g. className), so I'm adding it to jqLite as well so that jqLite preserves the feature-set it had before the jQuery upgrade.
Diffstat (limited to 'test/jqLiteSpec.js')
| -rw-r--r-- | test/jqLiteSpec.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 0ebb1717..a7fded5c 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -171,6 +171,38 @@ describe('jqLite', function(){ }); + describe('prop', function() { + it('should read element property', function() { + var elm = jqLite('<div class="foo">a</div>'); + expect(elm.prop('className')).toBe('foo'); + }); + + it('should set element property to a value', function() { + var elm = jqLite('<div class="foo">a</div>'); + elm.prop('className', 'bar'); + expect(elm[0].className).toBe('bar'); + expect(elm.prop('className')).toBe('bar'); + }); + + it('should set boolean element property', function() { + var elm = jqLite('<input type="checkbox">'); + expect(elm.prop('checked')).toBe(false); + + elm.prop('checked', true); + expect(elm.prop('checked')).toBe(true); + + elm.prop('checked', ''); + expect(elm.prop('checked')).toBe(false); + + elm.prop('checked', 'lala'); + expect(elm.prop('checked')).toBe(true); + + elm.prop('checked', null); + expect(elm.prop('checked')).toBe(false); + }); + }); + + describe('class', function(){ describe('hasClass', function(){ |
