aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/rootScopeSpec.js
diff options
context:
space:
mode:
authorIgor Minar2013-07-22 08:59:20 -0700
committerIgor Minar2013-07-22 11:27:53 -0700
commit3967f5f7d6c8aa7b41a5352b12f457e2fbaa251a (patch)
treec0fc0433b238e553cb5c2bcea3c9cf7d18f38ae4 /test/ng/rootScopeSpec.js
parente14e21904aa61c293cfcb4bd447fabcd192601e4 (diff)
downloadangular.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.js13
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']);
+ }));
});