aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ng/compile.js7
-rwxr-xr-xtest/ng/compileSpec.js119
2 files changed, 3 insertions, 123 deletions
diff --git a/src/ng/compile.js b/src/ng/compile.js
index 9e124edb..30d048d4 100644
--- a/src/ng/compile.js
+++ b/src/ng/compile.js
@@ -1008,10 +1008,9 @@ function $CompileProvider($provide) {
replaceWith(linkRootElement, jqLite(beforeTemplateLinkNode), linkNode);
}
- afterTemplateNodeLinkFn(
- beforeTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, linkNode, $rootElement, controller),
- scope, linkNode, $rootElement, controller
- );
+ afterTemplateNodeLinkFn(function() {
+ beforeTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, linkNode, $rootElement, controller);
+ }, scope, linkNode, $rootElement, controller);
}
linkQueue = null;
}).
diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js
index b76eb132..50aa30ef 100755
--- a/test/ng/compileSpec.js
+++ b/test/ng/compileSpec.js
@@ -2216,125 +2216,6 @@ describe('$compile', function() {
expect(asyncCtrlSpy).toHaveBeenCalledOnce();
});
});
-
-
- it('should instantiate the controller after the isolate scope bindings are initialized (with template)', function () {
- module(function () {
- var Ctrl = function ($scope, log) {
- log('myFoo=' + $scope.myFoo);
- };
-
- directive('myDirective', function () {
- return {
- scope: {
- myFoo: "="
- },
- template: '<p>Hello</p>',
- controller: Ctrl
- };
- });
- });
-
- inject(function ($templateCache, $compile, $rootScope, log) {
- $rootScope.foo = "bar";
-
- element = $compile('<div my-directive my-foo="foo"></div>')($rootScope);
- $rootScope.$apply();
- expect(log).toEqual('myFoo=bar');
- });
- });
-
-
- it('should instantiate the controller after the isolate scope bindings are initialized (with templateUrl)', function () {
- module(function () {
- var Ctrl = function ($scope, log) {
- log('myFoo=' + $scope.myFoo);
- };
-
- directive('myDirective', function () {
- return {
- scope: {
- myFoo: "="
- },
- templateUrl: 'hello.html',
- controller: Ctrl
- };
- });
- });
-
- inject(function ($templateCache, $compile, $rootScope, log) {
- $templateCache.put('hello.html', '<p>Hello</p>');
- $rootScope.foo = "bar";
-
- element = $compile('<div my-directive my-foo="foo"></div>')($rootScope);
- $rootScope.$apply();
- expect(log).toEqual('myFoo=bar');
- });
- });
-
-
- it('should allow controller usage in pre-link directive functions with templateUrl', function () {
- module(function () {
- var Ctrl = function (log) {
- log('instance');
- };
-
- directive('myDirective', function () {
- return {
- scope: true,
- templateUrl: 'hello.html',
- controller: Ctrl,
- compile: function () {
- return {
- pre: function (scope, template, attr, ctrl) {},
- post: function () {}
- };
- }
- };
- });
- });
-
- inject(function ($templateCache, $compile, $rootScope, log) {
- $templateCache.put('hello.html', '<p>Hello</p>');
-
- element = $compile('<div my-directive></div>')($rootScope);
- $rootScope.$apply();
-
- expect(log).toEqual('instance');
- expect(element.text()).toBe('Hello');
- });
- });
-
-
- it('should allow controller usage in pre-link directive functions with a template', function () {
- module(function () {
- var Ctrl = function (log) {
- log('instance');
- };
-
- directive('myDirective', function () {
- return {
- scope: true,
- template: '<p>Hello</p>',
- controller: Ctrl,
- compile: function () {
- return {
- pre: function (scope, template, attr, ctrl) {},
- post: function () {}
- };
- }
- };
- });
- });
-
- inject(function ($templateCache, $compile, $rootScope, log) {
- element = $compile('<div my-directive></div>')($rootScope);
- $rootScope.$apply();
-
- expect(log).toEqual('instance');
- expect(element.text()).toBe('Hello');
- });
- });
});