aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jqLite.js4
-rw-r--r--test/jqLiteSpec.js14
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('');
+ });
});