diff options
| author | Misko Hevery | 2010-04-03 17:04:36 -0700 |
|---|---|---|
| committer | Misko Hevery | 2010-04-03 17:04:36 -0700 |
| commit | a80a61839a66d244c8bb14bbe2975746e02516c8 (patch) | |
| tree | 5a7b4d9d3e2a7a15ebf55e068782fbf2aa4ac6bf /test/CompilerSpec.js | |
| parent | 35ca4fcb9c49e505e28669e951e01ddedb01d7db (diff) | |
| download | angular.js-a80a61839a66d244c8bb14bbe2975746e02516c8.tar.bz2 | |
injection is now working
Diffstat (limited to 'test/CompilerSpec.js')
| -rw-r--r-- | test/CompilerSpec.js | 62 |
1 files changed, 23 insertions, 39 deletions
diff --git a/test/CompilerSpec.js b/test/CompilerSpec.js index 59b7ab6b..9922070f 100644 --- a/test/CompilerSpec.js +++ b/test/CompilerSpec.js @@ -1,8 +1,4 @@ -xdescribe('compiler', function(){ - function element(html) { - return jQuery(html)[0]; - } - +describe('compiler', function(){ var compiler, textMarkup, directives, widgets, compile, log; beforeEach(function(){ @@ -29,25 +25,25 @@ xdescribe('compiler', function(){ widgets = {}; compiler = new Compiler(textMarkup, attrMarkup, directives, widgets); compile = function(html){ - var e = element("<div>" + html + "</div>"); - var view = compiler.compile(e)(e); - view.init(); - return view.scope; + var e = jqLite("<div>" + html + "</div>"); + var scope = compiler.compile(e)(e); + scope.$init(); + return scope; }; }); it('should recognize a directive', function(){ - var e = element('<div directive="expr" ignore="me"></div>'); + var e = jqLite('<div directive="expr" ignore="me"></div>'); directives.directive = function(expression, element){ log += "found"; expect(expression).toEqual("expr"); - expect(element[0]).toEqual(e); + expect(element).toEqual(e); return function initFn() { log += ":init"; }; }; var template = compiler.compile(e); - var init = template(e).init; + var init = template(e).$init; expect(log).toEqual("found"); init(); expect(log).toEqual("found:init"); @@ -61,13 +57,13 @@ xdescribe('compiler', function(){ it('should watch scope', function(){ var scope = compile('<span watch="name"/>'); expect(log).toEqual(""); - scope.updateView(); - scope.set('name', 'misko'); - scope.updateView(); - scope.updateView(); - scope.set('name', 'adam'); - scope.updateView(); - scope.updateView(); + scope.$eval(); + scope.$set('name', 'misko'); + scope.$eval(); + scope.$eval(); + scope.$set('name', 'adam'); + scope.$eval(); + scope.$eval(); expect(log).toEqual(":misko:adam"); }); @@ -83,29 +79,17 @@ xdescribe('compiler', function(){ element.removeAttr("duplicate"); var template = this.compile(element); return function(marker) { - this.$addEval(function() { + this.$onEval(function() { marker.after(template(element.clone()).element); }); }; }; var scope = compile('before<span duplicate="expr">x</span>after'); - expect($(scope.element).html()).toEqual('before<!--marker-->after'); - scope.updateView(); - expect($(scope.element).html()).toEqual('before<!--marker--><span>x</span>after'); - scope.updateView(); - expect($(scope.element).html()).toEqual('before<!--marker--><span>x</span><span>x</span>after'); - }); - - it('should allow for exculsive tags which suppress others', function(){ - directives.exclusive = function(){ - return function() { - log += ('exclusive'); - }; - }; - directives.exclusive.exclusive = true; - - compile('<span hello="misko", exclusive/>'); - expect(log).toEqual('exclusive'); + expect(sortedHtml(scope.$element)).toEqual('<div>before<#comment></#comment>after</div>'); + scope.$eval(); + expect(sortedHtml(scope.$element)).toEqual('<div>before<#comment></#comment>after</div>'); + scope.$eval(); + expect(sortedHtml(scope.$element)).toEqual('<div>before<#comment></#comment>after</div>'); }); it('should process markup before directives', function(){ @@ -117,7 +101,7 @@ xdescribe('compiler', function(){ } }); var scope = compile('before<span>middle</span>after'); - expect(scope.element.innerHTML).toEqual('before<span hello="middle">replaced</span>after'); + expect(scope.$element[0].innerHTML).toEqual('before<span hello="middle">replaced</span>after'); expect(log).toEqual("hello middle"); }); @@ -129,7 +113,7 @@ xdescribe('compiler', function(){ }; }; var scope = compile('<ng:button>push me</ng:button>'); - expect(scope.element.innerHTML).toEqual('<div>button</div>'); + expect(scope.$element[0].innerHTML).toEqual('<div>button</div>'); expect(log).toEqual('init'); }); |
