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.
This commit is contained in:
Igor Minar
2011-10-07 14:11:32 -07:00
parent 8f46a3c9ac
commit 8611ebe6a0
3 changed files with 42 additions and 5 deletions

View File

@@ -107,15 +107,42 @@ describe('compiler', function() {
};
};
scope = compile('before<span duplicate="expr">x</span>after');
expect(sortedHtml(scope.$element)).
toEqual('<div>' +
'before<#comment></#comment>' +
'<span>x</span>' +
'after' +
'</div>');
scope.value = 1;
scope.$digest();
expect(sortedHtml(scope.$element)).toEqual('<div>before<#comment></#comment><span>x</span>after</div>');
expect(sortedHtml(scope.$element)).
toEqual('<div>' +
'before<#comment></#comment>' +
'<span>x</span>' +
'<span>x</span>' +
'after' +
'</div>');
scope.value = 2;
scope.$digest();
expect(sortedHtml(scope.$element)).toEqual('<div>before<#comment></#comment><span>x</span><span>x</span>after</div>');
expect(sortedHtml(scope.$element)).
toEqual('<div>' +
'before<#comment></#comment>' +
'<span>x</span>' +
'<span>x</span>' +
'<span>x</span>' +
'after' +
'</div>');
scope.value = 3;
scope.$digest();
expect(sortedHtml(scope.$element)).toEqual('<div>before<#comment></#comment><span>x</span><span>x</span><span>x</span>after</div>');
expect(sortedHtml(scope.$element)).
toEqual('<div>' +
'before<#comment></#comment>' +
'<span>x</span>' +
'<span>x</span>' +
'<span>x</span>' +
'<span>x</span>' +
'after' +
'</div>');
});