aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Minar2011-08-19 16:10:21 -0700
committerIgor Minar2011-08-23 10:27:51 -0700
commite3fad0feb35f02191ace77638a102c79daad63ac (patch)
treed569abeda3ee6b66cf6f2ba920b49f00f3feb329
parent0f6e199d98caadbb35e3ac66e02236bee06060c5 (diff)
downloadangular.js-e3fad0feb35f02191ace77638a102c79daad63ac.tar.bz2
fix(jqlite): correct the jqLite.removeClass method
-rw-r--r--src/jqLite.js2
-rw-r--r--test/jqLiteSpec.js11
2 files changed, 12 insertions, 1 deletions
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('<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);
+ });
});
});