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

Commit 7eaaca8

Browse files
shahatabtford
authored andcommitted
fix(ngClass): support multiple classes in key
1 parent 083f496 commit 7eaaca8

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
@@ -209,6 +209,23 @@ describe('ngClass', function() {
209209
})
210210
);
211211

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

0 commit comments

Comments
 (0)