fix(ngClass): support multiple classes in key

This commit is contained in:
Shahar Talmi
2014-04-16 23:59:31 +03:00
committed by Brian Ford
parent 5c99720934
commit 85ce5d0db9
2 changed files with 18 additions and 1 deletions

View File

@@ -106,7 +106,7 @@ function classDirective(name, selector) {
var classes = [], i = 0;
forEach(classVal, function(v, k) {
if (v) {
classes.push(k);
classes = classes.concat(k.split(' '));
}
});
return classes;

View File

@@ -207,6 +207,23 @@ describe('ngClass', function() {
expect(e2.hasClass('odd')).toBeTruthy();
}));
it('should allow ngClass with overlapping classes', inject(function($rootScope, $compile, $animate) {
element = $compile('<div ng-class="{\'same yes\': test, \'same no\': !test}"></div>')($rootScope);
$rootScope.$digest();
expect(element).toHaveClass('same');
expect(element).not.toHaveClass('yes');
expect(element).toHaveClass('no');
$rootScope.$apply(function() {
$rootScope.test = true;
});
expect(element).toHaveClass('same');
expect(element).toHaveClass('yes');
expect(element).not.toHaveClass('no');
}));
it('should allow both ngClass and ngClassOdd/Even with multiple classes', inject(function($rootScope, $compile) {
element = $compile('<ul>' +
'<li ng-repeat="i in [0,1]" ng-class="[\'A\', \'B\']" ' +