From e3fad0feb35f02191ace77638a102c79daad63ac Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Fri, 19 Aug 2011 16:10:21 -0700 Subject: fix(jqlite): correct the jqLite.removeClass method --- src/jqLite.js | 2 +- test/jqLiteSpec.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/jqLite.js b/src/jqLite.js index f8cd9a1f..13ba5fd6 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -159,7 +159,7 @@ function JQLiteRemoveClass(element, selector) { element.className = trim( (" " + element.className + " ") .replace(/[\n\t]/g, " ") - .replace(" " + selector + " ", "") + .replace(" " + selector + " ", " ") ); } diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 00760a60..c06fcae4 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -222,6 +222,17 @@ describe('jqLite', function(){ expect(jqLite(a).hasClass('abc')).toEqual(false); expect(jqLite(b).hasClass('abc')).toEqual(false); }); + + it('should correctly remove middle class', function() { + var element = jqLite('
'); + expect(element.hasClass('bar')).toBe(true); + + element.removeClass('bar'); + + expect(element.hasClass('foo')).toBe(true); + expect(element.hasClass('bar')).toBe(false); + expect(element.hasClass('baz')).toBe(true); + }); }); }); -- cgit v1.2.3