diff options
| author | Igor Minar | 2013-08-21 01:11:19 -0700 | 
|---|---|---|
| committer | Igor Minar | 2013-08-21 01:27:58 -0700 | 
| commit | 166e0d63d0d3e1e4b4c9771d3046dd89a4e551af (patch) | |
| tree | becd77a64a2111383deb141dd2f7e5a169365727 | |
| parent | 0d7f19bb620ca4f733e5c202807921501e35172c (diff) | |
| download | angular.js-166e0d63d0d3e1e4b4c9771d3046dd89a4e551af.tar.bz2 | |
revert: fix($compile): correct controller instantiation...
fix($compile): correct controller for async directives
This reverts commit 51d32243fe8cfbdcd1b647950d4e99ed57677558
as well as commit   9c51d503188efae14b81bd4d6dd7d5a3363f050f
Changing ordering of events in stable branch is not a good idea.
| -rw-r--r-- | src/ng/compile.js | 7 | ||||
| -rwxr-xr-x | test/ng/compileSpec.js | 119 | 
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'); -      }); -    });    }); | 
