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>#comment>' +
+ 'x' +
+ 'after' +
+ '
');
scope.value = 1;
scope.$digest();
- expect(sortedHtml(scope.$element)).toEqual('before<#comment>#comment>xafter
');
+ expect(sortedHtml(scope.$element)).
+ toEqual('' +
+ 'before<#comment>#comment>' +
+ 'x' +
+ 'x' +
+ 'after' +
+ '
');
scope.value = 2;
scope.$digest();
- expect(sortedHtml(scope.$element)).toEqual('before<#comment>#comment>xxafter
');
+ expect(sortedHtml(scope.$element)).
+ toEqual('' +
+ 'before<#comment>#comment>' +
+ 'x' +
+ 'x' +
+ 'x' +
+ 'after' +
+ '
');
scope.value = 3;
scope.$digest();
- expect(sortedHtml(scope.$element)).toEqual('before<#comment>#comment>xxxafter
');
+ expect(sortedHtml(scope.$element)).
+ toEqual('' +
+ 'before<#comment>#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