'use strict'; describe('ngInit', function() { var element; afterEach(function() { dealoc(element); }); it("should init model", inject(function($rootScope, $compile) { element = $compile('
')($rootScope); expect($rootScope.a).toEqual(123); })); it("should be evaluated before ngInclude", inject(function($rootScope, $templateCache, $compile) { $templateCache.put('template1.tpl', '1'); $templateCache.put('template2.tpl', '2'); $rootScope.template = 'template1.tpl'; element = $compile('
')($rootScope); $rootScope.$digest(); expect($rootScope.template).toEqual('template2.tpl'); expect(element.find('span').text()).toEqual('2'); })); it("should be evaluated after ngController", function() { module(function($controllerProvider) { $controllerProvider.register('TestCtrl', function($scope) {}); }); inject(function($rootScope, $compile) { element = $compile('
')($rootScope); $rootScope.$digest(); expect($rootScope.test).toBeUndefined(); expect(element.children('div').scope().test).toEqual(123); }); }); });