aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/service/routeSpec.js14
-rw-r--r--test/widgetsSpec.js12
2 files changed, 26 insertions, 0 deletions
diff --git a/test/service/routeSpec.js b/test/service/routeSpec.js
index 6c6828bc..97532f38 100644
--- a/test/service/routeSpec.js
+++ b/test/service/routeSpec.js
@@ -1,6 +1,20 @@
'use strict';
describe('$route', function() {
+
+ beforeEach(module(function() {
+ return function($rootScope, $controller) {
+ $rootScope.$on('$afterRouteChange', function(event, next) {
+ // emulate ng:view scope creation
+ if (next) {
+ next.scope = $rootScope.$new();
+ next.controller && $controller(next.controller, {$scope: next.scope});
+ }
+ });
+ };
+ }));
+
+
it('should route and fire change event', function() {
var log = '',
lastRoute,
diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js
index e762e7c0..3b245d11 100644
--- a/test/widgetsSpec.js
+++ b/test/widgetsSpec.js
@@ -633,6 +633,18 @@ describe('widget', function() {
}));
+ it('should create controller instance on $afterRouteChange event', inject(
+ function($route, $rootScope) {
+ var controllerScope;
+ $route.current = { controller: function($scope) { controllerScope = $scope; } };
+ $rootScope.$broadcast('$afterRouteChange', $route.current);
+
+ expect(controllerScope.$parent.$id).toBe($rootScope.$id);
+ expect(controllerScope.$id).toBe($route.current.scope.$id);
+ }
+ ));
+
+
it('should load content via xhr when route changes', function() {
module(function($routeProvider) {
$routeProvider.when('/foo', {template: 'myUrl1'});