diff options
| -rw-r--r-- | src/Angular.js | 5 | ||||
| -rw-r--r-- | src/ng/animator.js | 8 | ||||
| -rw-r--r-- | test/ng/animatorSpec.js | 33 | 
3 files changed, 20 insertions, 26 deletions
diff --git a/src/Angular.js b/src/Angular.js index a4ef8966..bf64c6c2 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -975,12 +975,13 @@ function bootstrap(element, modules) {      }]);      modules.unshift('ng');      var injector = createInjector(modules); -    injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', -       function(scope, element, compile, injector) { +    injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', '$animator', +       function(scope, element, compile, injector, animator) {          scope.$apply(function() {            element.data('$injector', injector);            compile(element)(scope);          }); +        animator.enabled(true);        }]      );      return injector; diff --git a/src/ng/animator.js b/src/ng/animator.js index 7f0f7b7a..d28ce158 100644 --- a/src/ng/animator.js +++ b/src/ng/animator.js @@ -130,14 +130,6 @@ var $AnimatorProvider = function() {    this.$get = ['$animation', '$window', '$sniffer', '$rootElement', '$rootScope',        function($animation, $window, $sniffer, $rootElement, $rootScope) {      $rootElement.data(NG_ANIMATE_CONTROLLER, rootAnimateController); -    var unregister = $rootScope.$watch(function() { -      unregister(); -      if (rootAnimateController.running) { -        $window.setTimeout(function() { -          rootAnimateController.running = false; -        }, 0); -      } -    });      /**       * @ngdoc function diff --git a/test/ng/animatorSpec.js b/test/ng/animatorSpec.js index 4d549ee3..1b393e91 100644 --- a/test/ng/animatorSpec.js +++ b/test/ng/animatorSpec.js @@ -28,20 +28,27 @@ describe("$animator", function() {        });      }); -    it("should disable and enable the animations", inject(function($animator, $rootScope, $window) { -      expect($animator.enabled()).toBe(false); +    it("should disable and enable the animations", function() { +      var initialState = null; +      var animator; -      $rootScope.$digest(); -      $window.setTimeout.expect(0).process(); +      angular.bootstrap(body, [function() { +        return function($animator) { +          animator = $animator; +          initialState = $animator.enabled(); +        } +      }]); -      expect($animator.enabled()).toBe(true); +      expect(initialState).toBe(false); -      expect($animator.enabled(0)).toBe(false); -      expect($animator.enabled()).toBe(false); +      expect(animator.enabled()).toBe(true); -      expect($animator.enabled(1)).toBe(true); -      expect($animator.enabled()).toBe(true); -    })); +      expect(animator.enabled(0)).toBe(false); +      expect(animator.enabled()).toBe(false); + +      expect(animator.enabled(1)).toBe(true); +      expect(animator.enabled()).toBe(true); +    });    }); @@ -145,9 +152,6 @@ describe("$animator", function() {          ngAnimate : '{enter: \'custom\'}'        }); -      $rootScope.$digest(); // re-enable the animations; -      window.setTimeout.expect(0).process(); -        expect(element.contents().length).toBe(0);        animator.enter(child, element);        window.setTimeout.expect(1).process(); @@ -158,9 +162,6 @@ describe("$animator", function() {          ngAnimate : '{leave: \'custom\'}'        }); -      $rootScope.$digest(); // re-enable the animations; -      window.setTimeout.expect(0).process(); -        element.append(child);        expect(element.contents().length).toBe(1);        animator.leave(child, element);  | 
