diff options
| author | Igor Minar | 2013-07-22 08:59:20 -0700 | 
|---|---|---|
| committer | Igor Minar | 2013-07-22 11:27:53 -0700 | 
| commit | 3967f5f7d6c8aa7b41a5352b12f457e2fbaa251a (patch) | |
| tree | c0fc0433b238e553cb5c2bcea3c9cf7d18f38ae4 /test/ng/rootScopeSpec.js | |
| parent | e14e21904aa61c293cfcb4bd447fabcd192601e4 (diff) | |
| download | angular.js-3967f5f7d6c8aa7b41a5352b12f457e2fbaa251a.tar.bz2 | |
fix(Scope): ensure that isolate scopes use the main evalAsync queue
Previously any $evalAsync task scheduled from a isolate scope or a child of an isolate scope
would never execute because we never flushed this queue
Diffstat (limited to 'test/ng/rootScopeSpec.js')
| -rw-r--r-- | test/ng/rootScopeSpec.js | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/test/ng/rootScopeSpec.js b/test/ng/rootScopeSpec.js index 15990c96..049258cf 100644 --- a/test/ng/rootScopeSpec.js +++ b/test/ng/rootScopeSpec.js @@ -692,6 +692,19 @@ describe('Scope', function() {        expect($rootScope.log).toBe('12');      })); + +    it('should operate only with a single queue across all child and isolate scopes', inject(function($rootScope) { +      var childScope = $rootScope.$new(); +      var isolateScope = $rootScope.$new(true); + +      $rootScope.$evalAsync('rootExpression'); +      childScope.$evalAsync('childExpression'); +      isolateScope.$evalAsync('isolateExpression'); + +      expect(childScope.$$asyncQueue).toBe($rootScope.$$asyncQueue); +      expect(isolateScope.$$asyncQueue).toBe($rootScope.$$asyncQueue); +      expect($rootScope.$$asyncQueue).toEqual(['rootExpression', 'childExpression', 'isolateExpression']); +    }));    }); | 
