diff options
| author | Vojta Jina | 2012-02-28 11:51:14 -0800 | 
|---|---|---|
| committer | Vojta Jina | 2012-02-28 14:15:44 -0800 | 
| commit | 4c1c50fd9bfafaa89cdc66dfde818a3f8f4b0c6b (patch) | |
| tree | d4b484531f01fae2a040780c275677be08e30166 | |
| parent | d1558d7924dec1156784f3b4576880f72213f671 (diff) | |
| download | angular.js-4c1c50fd9bfafaa89cdc66dfde818a3f8f4b0c6b.tar.bz2 | |
fix(directive.script): Do not compile content of script tags
| -rw-r--r-- | src/widgets.js | 1 | ||||
| -rw-r--r-- | test/widgetsSpec.js | 18 | 
2 files changed, 19 insertions, 0 deletions
| diff --git a/src/widgets.js b/src/widgets.js index 84982dc6..d515d94d 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -783,6 +783,7 @@ var ngPluralizeDirective = ['$locale', '$interpolate', function($locale, $interp  var scriptTemplateLoader = ['$templateCache', function($templateCache) {    return { +    terminal: true,      compile: function(element, attr) {        if (attr.type == 'text/ng-template') {          var templateUrl = attr.id; diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js index fcd6fc04..6f0e3731 100644 --- a/test/widgetsSpec.js +++ b/test/widgetsSpec.js @@ -949,5 +949,23 @@ describe('widget', function() {            expect($templateCache.get('/ignore')).toBeUndefined();          }      )); + + +    it('should not compile scripts', inject(function($compile, $templateCache, $rootScope) { +      if (msie <=8) return; // see above + +      var doc = jqLite('<div></div>'); +      // jQuery is too smart and removes +      doc[0].innerHTML = '<script type="text/javascript">some {{binding}}</script>' + +                         '<script type="text/ng-template" id="/some">other {{binding}}</script>'; + +      $compile(doc)($rootScope); +      $rootScope.$digest(); + +      var scripts = doc.find('script'); +      expect(scripts.eq(0).text()).toBe('some {{binding}}'); +      expect(scripts.eq(1).text()).toBe('other {{binding}}'); +      dealoc(doc); +    }));    });  }); | 
