diff options
| -rw-r--r-- | src/jqLite.js | 4 | ||||
| -rw-r--r-- | test/jqLiteSpec.js | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/jqLite.js b/src/jqLite.js index ce9e612e..8cef64da 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -162,8 +162,8 @@ function JQLiteRemoveClass(element, selector) { ); } -function JQLiteAddClass(element, selector ) { - if (!JQLiteHasClass(element, selector)) { +function JQLiteAddClass(element, selector) { + if (selector && !JQLiteHasClass(element, selector)) { element.className = trim(element.className + ' ' + selector); } } diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 5991c4f8..f2a99943 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -197,6 +197,20 @@ describe('jqLite', function(){ expect(jqLite(a).hasClass('abc')).toEqual(true); expect(jqLite(b).hasClass('abc')).toEqual(true); }); + + it('should ignore falsy values', function() { + var jqA = jqLite(a); + expect(jqA[0].className).toBe(''); + + jqA.addClass(undefined); + expect(jqA[0].className).toBe(''); + + jqA.addClass(null); + expect(jqA[0].className).toBe(''); + + jqA.addClass(false); + expect(jqA[0].className).toBe(''); + }); }); |
