diff options
| author | Igor Minar | 2011-03-10 14:26:22 -0800 |
|---|---|---|
| committer | Igor Minar | 2011-03-11 08:45:43 -0800 |
| commit | 9d5c53379180a110e427a01a1446eada3f0fc3d6 (patch) | |
| tree | 536adf248746cbf6c38199ab033cfe29adc1859e /test | |
| parent | 7414e7b53302863911c734c8586b76767d2ded6b (diff) | |
| download | angular.js-9d5c53379180a110e427a01a1446eada3f0fc3d6.tar.bz2 | |
ng:autobind now optionally takes element id
so it is possible to easily compile just a part of a document.
e.g.:
<html>
<head>
<title>partially compiled doc</title>
<script src="angular.js" ng:autobind="compileThis"></script>
</head>
<body>
this part won't be compiled: {{1+2}}
<div id="compileThis" ng:init="i=0" ng:click="i = i+1">
Click count: {{i}}
</div>
</body>
</html>
Diffstat (limited to 'test')
| -rw-r--r-- | test/AngularSpec.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/AngularSpec.js b/test/AngularSpec.js index e9215bee..f5556f7c 100644 --- a/test/AngularSpec.js +++ b/test/AngularSpec.js @@ -356,6 +356,60 @@ describe('angular', function(){ }); + describe('angularInit', function() { + var dom; + + beforeEach(function() { + dom = jqLite('<div foo="{{1+2}}">{{2+3}}' + + '<div id="child" bar="{{3+4}}">{{4+5}}</div>' + + '</div>')[0]; + }); + + + afterEach(function() { + dealoc(dom); + }); + + + it('should not compile anything if autobind is missing or false', function() { + angularInit({}, dom); + expect(sortedHtml(dom)).toEqual('<div foo="{{1+2}}">{{2+3}}' + + '<div bar="{{3+4}}" id="child">{{4+5}}</div>' + + '</div>'); + }); + + + it('should compile the document if autobind is true', function() { + angularInit({autobind: true}, dom); + expect(sortedHtml(dom)).toEqual('<div foo="3" ng:bind-attr="{"foo":"{{1+2}}"}">' + + '<span ng:bind="2+3">5</span>' + + '<div bar="7" id="child" ng:bind-attr="{"bar":"{{3+4}}"}">'+ + '<span ng:bind="4+5">9</span>' + + '</div>' + + '</div>'); + }); + + + it('should compile only the element specified via autobind', function() { + dom.getElementById = function() { + return this.childNodes[1]; + } + + angularInit({autobind: 'child'}, dom); + expect(sortedHtml(dom)).toEqual('<div foo="{{1+2}}">{{2+3}}' + + '<div bar="7" id="child" ng:bind-attr="{"bar":"{{3+4}}"}">'+ + '<span ng:bind="4+5">9</span>' + + '</div>' + + '</div>'); + }); + + + xit('should add custom css when specified via css', function() { + //TODO + }); + }); + + describe('angular service', function() { it('should override services', function() { var scope = createScope(); |
