fix(jqlite): correct the jqLite.removeClass method

This commit is contained in:
Igor Minar 2011-08-19 16:10:21 -07:00
parent 0f6e199d98
commit e3fad0feb3
2 changed files with 12 additions and 1 deletions

View file

@ -159,7 +159,7 @@ function JQLiteRemoveClass(element, selector) {
element.className = trim(
(" " + element.className + " ")
.replace(/[\n\t]/g, " ")
.replace(" " + selector + " ", "")
.replace(" " + selector + " ", " ")
);
}

View file

@ -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('<div class="foo bar baz"></div>');
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);
});
});
});