diff options
| author | Matias Niemelä | 2013-06-18 13:59:57 -0400 | 
|---|---|---|
| committer | Misko Hevery | 2013-07-26 23:49:54 -0700 | 
| commit | 81923f1e41560327f7de6e8fddfda0d2612658f3 (patch) | |
| tree | bbf8151bddf4d026f8f5fa3196b84a45ecd9c858 /src/ngMock/angular-mocks.js | |
| parent | 11521a4cde689c2bd6aaa227b1f45cb3fb53725b (diff) | |
| download | angular.js-81923f1e41560327f7de6e8fddfda0d2612658f3.tar.bz2 | |
feat(ngAnimate): complete rewrite of animations
- ngAnimate directive is gone and was replaced with class based animations/transitions
- support for triggering animations on css class additions and removals
- done callback was added to all animation apis
- $animation and $animator where merged into a single $animate service with api:
  - $animate.enter(element, parent, after, done);
  - $animate.leave(element, done);
  - $animate.move(element, parent, after, done);
  - $animate.addClass(element, className, done);
  - $animate.removeClass(element, className, done);
BREAKING CHANGE: too many things changed, we'll write up a separate doc with migration instructions
Diffstat (limited to 'src/ngMock/angular-mocks.js')
| -rw-r--r-- | src/ngMock/angular-mocks.js | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index e05e7a28..bfb601fd 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -627,6 +627,43 @@ angular.mock.$LogProvider = function() {    angular.mock.TzDate.prototype = Date.prototype;  })(); +angular.mock.animate = angular.module('mock.animate', ['ng']) + +  .config(['$provide', function($provide) { + +    $provide.decorator('$animate', function($delegate) { +      var animate = { +        queue : [], +        enabled : $delegate.enabled, +        process : function(name) { +          var tick = animate.queue.shift(); +          expect(tick.method).toBe(name); +          tick.fn(); +          return tick; +        } +      }; + +      forEach(['enter','leave','move','show','hide','addClass','removeClass'], function(method) { +        animate[method] = function() { +          var params = arguments; +          animate.queue.push({ +            method : method, +            params : params, +            element : angular.isElement(params[0]) && params[0], +            parent  : angular.isElement(params[1]) && params[1], +            after   : angular.isElement(params[2]) && params[2], +            fn : function() { +              $delegate[method].apply($delegate, params); +            } +          }); +        }; +      }); + +      return animate; +    }); + +  }]); +  /**   * @ngdoc function   * @name angular.mock.createMockWindow | 
