aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/compileSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ng/compileSpec.js')
-rw-r--r--test/ng/compileSpec.js57
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;