diff options
| author | Igor Minar | 2011-09-15 00:35:09 +0200 | 
|---|---|---|
| committer | Igor Minar | 2011-09-16 02:44:28 +0200 | 
| commit | 0d7fe97aff0d69fa9c72c6eb08d0dffc70359dae (patch) | |
| tree | 60bd62586299e84907f4d17953991bcb22b3e836 | |
| parent | a2a830e2273f2cb114d1889d6dece171621b046c (diff) | |
| download | angular.js-0d7fe97aff0d69fa9c72c6eb08d0dffc70359dae.tar.bz2 | |
fix(jqLite): attr() should not special-case 'class' attribute
since jQuery 1.6 'class' is not treated specially, so we have to revert this fix and use className in tests instead
| -rw-r--r-- | src/jqLite.js | 8 | ||||
| -rw-r--r-- | test/directivesSpec.js | 10 | ||||
| -rw-r--r-- | test/jqLiteSpec.js | 9 | 
3 files changed, 6 insertions, 21 deletions
| diff --git a/src/jqLite.js b/src/jqLite.js index 6b954005..af488abb 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -253,13 +253,7 @@ forEach({    },    attr: function(element, name, value){ -    if (name === 'class') { -      if(isDefined(value)) { -        element.className = value; -      } else { -        return element.className; -      } -    } else if (SPECIAL_ATTR[name]) { +    if (SPECIAL_ATTR[name]) {        if (isDefined(value)) {          element[name] = !!value;        } else { diff --git a/test/directivesSpec.js b/test/directivesSpec.js index 2979cf75..6dbbfe9d 100644 --- a/test/directivesSpec.js +++ b/test/directivesSpec.js @@ -254,7 +254,7 @@ describe("directive", function() {        scope.$digest();        scope.dynCls = 'foo';        scope.$digest(); -      expect(element.attr('class')).toBe('ui-panel ui-selected ng-directive foo'); +      expect(element[0].className).toBe('ui-panel ui-selected ng-directive foo');      }); @@ -262,7 +262,7 @@ describe("directive", function() {        var scope = compile('<div class="panel bar" ng:class="dynCls"></div>');        scope.dynCls = 'panel';        scope.$digest(); -      expect(element.attr('class')).toBe('panel bar ng-directive'); +      expect(element[0].className).toBe('panel bar ng-directive');      }); @@ -272,7 +272,7 @@ describe("directive", function() {        scope.$digest();        scope.dynCls = 'window';        scope.$digest(); -      expect(element.attr('class')).toBe('bar ng-directive window'); +      expect(element[0].className).toBe('bar ng-directive window');      }); @@ -283,7 +283,7 @@ describe("directive", function() {        element.addClass('foo');        scope.dynCls = '';        scope.$digest(); -      expect(element.attr('class')).toBe('ng-directive'); +      expect(element[0].className).toBe('ng-directive');      }); @@ -291,7 +291,7 @@ describe("directive", function() {        var scope = compile('<div ng:class="dynCls"></div>');        scope.dynCls = [undefined, null];        scope.$digest(); -      expect(element.attr('class')).toBe('ng-directive'); +      expect(element[0].className).toBe('ng-directive');      });    }); diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index aac5aeb5..ed929cb7 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -168,15 +168,6 @@ describe('jqLite', function(){        var elm = jqLite('<div class="any">a</div>');        expect(elm.attr('non-existing')).toBeUndefined();      }); - -    it('should special-case "class" attribute', function() { -      // stupid IE9 returns null for element.getAttribute('class') when element has ng:class attr -      var elm = jqLite('<div class=" any " ng:class="dynCls">a</div>'); -      expect(elm.attr('class')).toBe(' any '); - -      elm.attr('class', 'foo  bar'); -      expect(elm.attr('class')).toBe('foo  bar'); -    });    }); | 
