From 8611ebe6a0d61092c1e66eb636e817c1445fd73f Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Fri, 7 Oct 2011 14:11:32 -0700 Subject: fix(compiler): linking function should call $digest The linked scope should be $digest-ed but only if a $digest isn't already running on it. --- test/CompilerSpec.js | 33 ++++++++++++++++++++++++++++++--- test/markupSpec.js | 13 +++++++++++-- 2 files changed, 41 insertions(+), 5 deletions(-) (limited to 'test') diff --git a/test/CompilerSpec.js b/test/CompilerSpec.js index e0dcafc0..2cb7d19d 100644 --- a/test/CompilerSpec.js +++ b/test/CompilerSpec.js @@ -107,15 +107,42 @@ describe('compiler', function() { }; }; scope = compile('beforexafter'); + expect(sortedHtml(scope.$element)). + toEqual('
' + + 'before<#comment>' + + 'x' + + 'after' + + '
'); scope.value = 1; scope.$digest(); - expect(sortedHtml(scope.$element)).toEqual('
before<#comment>xafter
'); + expect(sortedHtml(scope.$element)). + toEqual('
' + + 'before<#comment>' + + 'x' + + 'x' + + 'after' + + '
'); scope.value = 2; scope.$digest(); - expect(sortedHtml(scope.$element)).toEqual('
before<#comment>xxafter
'); + expect(sortedHtml(scope.$element)). + toEqual('
' + + 'before<#comment>' + + 'x' + + 'x' + + 'x' + + 'after' + + '
'); scope.value = 3; scope.$digest(); - expect(sortedHtml(scope.$element)).toEqual('
before<#comment>xxxafter
'); + expect(sortedHtml(scope.$element)). + toEqual('
' + + 'before<#comment>' + + 'x' + + 'x' + + 'x' + + 'x' + + 'after' + + '
'); }); diff --git a/test/markupSpec.js b/test/markupSpec.js index d505ee73..a05ca44f 100644 --- a/test/markupSpec.js +++ b/test/markupSpec.js @@ -167,11 +167,20 @@ describe("markups", function() { }); it('should bind Text with no Bindings', function() { - forEach('src,href,checked,disabled,multiple,readonly,selected'.split(','), function(name) { + forEach(['checked', 'disabled', 'multiple', 'readonly', 'selected'], function(name) { compile('
'); - expect(sortedHtml(element)).toEqual('
'); + expect(element.attr('ng:bind-attr')).toBe('{"' + name +'":"some"}'); + expect(element.attr(name)).toBe(name); dealoc(element); }); + + compile('
'); + expect(sortedHtml(element)).toEqual('
'); + dealoc(element); + + compile('
'); + expect(sortedHtml(element)).toEqual('
'); + dealoc(element); }); it('should Parse Text With No Bindings', function() { -- cgit v1.2.3