'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);
});
});
});