Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 85ce5d0

Browse files
shahatabtford
authored andcommitted
fix(ngClass): support multiple classes in key
1 parent 5c99720 commit 85ce5d0

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/ng/directive/ngClass.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ function classDirective(name, selector) {
106106
var classes = [], i = 0;
107107
forEach(classVal, function(v, k) {
108108
if (v) {
109-
classes.push(k);
109+
classes = classes.concat(k.split(' '));
110110
}
111111
});
112112
return classes;

test/ng/directive/ngClassSpec.js

+17
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,23 @@ describe('ngClass', function() {
207207
expect(e2.hasClass('odd')).toBeTruthy();
208208
}));
209209

210+
it('should allow ngClass with overlapping classes', inject(function($rootScope, $compile, $animate) {
211+
element = $compile('<div ng-class="{\'same yes\': test, \'same no\': !test}"></div>')($rootScope);
212+
$rootScope.$digest();
213+
214+
expect(element).toHaveClass('same');
215+
expect(element).not.toHaveClass('yes');
216+
expect(element).toHaveClass('no');
217+
218+
$rootScope.$apply(function() {
219+
$rootScope.test = true;
220+
});
221+
222+
expect(element).toHaveClass('same');
223+
expect(element).toHaveClass('yes');
224+
expect(element).not.toHaveClass('no');
225+
}));
226+
210227
it('should allow both ngClass and ngClassOdd/Even with multiple classes', inject(function($rootScope, $compile) {
211228
element = $compile('<ul>' +
212229
'<li ng-repeat="i in [0,1]" ng-class="[\'A\', \'B\']" ' +

0 commit comments

Comments
 (0)