Consider we have some directive with templateUrl and controller.
angular.module('someApp').directive('myDirective', [function() {
    return {
        templateUrl:'someTemplate.html',
        controller: ['$scope', function($scope) {
            this.someFunction = function() {}
        }]        
    }
}])
If we try to get controller now
var directive = angular.element('<my-directive />');
$compile(directive)( scope );
var controller = directive.controller('myDirective');
the controller is undefined.
