diff --git a/test/ng/directive/ngClassSpec.js b/test/ng/directive/ngClassSpec.js
index fc46bf7c03de..4a53030bd21f 100644
--- a/test/ng/directive/ngClassSpec.js
+++ b/test/ng/directive/ngClassSpec.js
@@ -234,4 +234,48 @@ describe('ngClass', function() {
expect(element.hasClass('two')).toBeFalsy();
expect(element.hasClass('too')).toBeFalsy();
}));
+
+
+ it('should update ngClassOdd/Even when model is changed by filtering', inject(function($rootScope, $compile) {
+ element = $compile('
' +
+ '' +
+ '')($rootScope);
+ $rootScope.items = ['a','b','a'];
+ $rootScope.$digest();
+
+ $rootScope.items = ['a','a'];
+ $rootScope.$digest();
+
+ var e1 = jqLite(element[0].childNodes[1]);
+ var e2 = jqLite(element[0].childNodes[2]);
+
+ expect(e1.hasClass('odd')).toBeTruthy();
+ expect(e1.hasClass('even')).toBeFalsy();
+
+ expect(e2.hasClass('even')).toBeTruthy();
+ expect(e2.hasClass('odd')).toBeFalsy();
+ }));
+
+
+ it('should update ngClassOdd/Even when model is changed by sorting', inject(function($rootScope, $compile) {
+ element = $compile('' +
+ '- i
' +
+ '')($rootScope);
+ $rootScope.items = ['a','b'];
+ $rootScope.$digest();
+
+ $rootScope.items = ['b','a'];
+ $rootScope.$digest();
+
+ var e1 = jqLite(element[0].childNodes[1]);
+ var e2 = jqLite(element[0].childNodes[2]);
+
+ expect(e1.hasClass('odd')).toBeTruthy();
+ expect(e1.hasClass('even')).toBeFalsy();
+
+ expect(e2.hasClass('even')).toBeTruthy();
+ expect(e2.hasClass('odd')).toBeFalsy();
+ }));
});