diff options
Diffstat (limited to 'test/ng/compileSpec.js')
| -rw-r--r-- | test/ng/compileSpec.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js index 6f56c6e6..f81199cb 100644 --- a/test/ng/compileSpec.js +++ b/test/ng/compileSpec.js @@ -647,6 +647,32 @@ describe('$compile', function() { }); + describe('template as function', function() { + + beforeEach(module(function() { + directive('myDirective', valueFn({ + replace: true, + template: function($element, $attrs) { + expect($element.text()).toBe('original content'); + expect($attrs.myDirective).toBe('some value'); + return '<div id="templateContent">template content</div>'; + }, + compile: function($element, $attrs) { + expect($element.text()).toBe('template content'); + expect($attrs.id).toBe('templateContent'); + } + })); + })); + + + it('should evaluate `template` when defined as fn and use returned string as template', inject( + function($compile, $rootScope) { + element = $compile('<div my-directive="some value">original content<div>')($rootScope); + expect(element.text()).toEqual('template content'); + })); + }); + + describe('templateUrl', function() { beforeEach(module( @@ -1215,6 +1241,37 @@ describe('$compile', function() { }); + describe('template as function', function() { + + beforeEach(module(function() { + directive('myDirective', valueFn({ + replace: true, + templateUrl: function($element, $attrs) { + expect($element.text()).toBe('original content'); + expect($attrs.myDirective).toBe('some value'); + return 'my-directive.html'; + }, + compile: function($element, $attrs) { + expect($element.text()).toBe('template content'); + expect($attrs.id).toBe('templateContent'); + } + })); + })); + + + it('should evaluate `templateUrl` when defined as fn and use returned value as url', inject( + function($compile, $rootScope, $templateCache) { + $templateCache.put('my-directive.html', '<div id="templateContent">template content</span>'); + element = $compile('<div my-directive="some value">original content<div>')($rootScope); + expect(element.text()).toEqual(''); + + $rootScope.$digest(); + + expect(element.text()).toEqual('template content'); + })); + }); + + describe('scope', function() { var iscope; |
