This commit is contained in:
Misko Hevery 2010-09-14 23:42:43 +02:00
commit 2a3a449c6d
3 changed files with 28 additions and 12 deletions

View file

@ -77,19 +77,16 @@ function toJsonArray(buf, obj, pretty, stack){
keys.sort();
for ( var keyIndex = 0; keyIndex < keys.length; keyIndex++) {
var key = keys[keyIndex];
try {
var value = obj[key];
if (typeof value != $function) {
if (comma) {
buf.push(",");
if (pretty) buf.push(pretty);
}
buf.push(angular['String']['quote'](key));
buf.push(":");
toJsonArray(buf, value, childPretty, stack);
comma = true;
var value = obj[key];
if (typeof value != $function) {
if (comma) {
buf.push(",");
if (pretty) buf.push(pretty);
}
} catch (e) {
buf.push(angular['String']['quote'](key));
buf.push(":");
toJsonArray(buf, value, childPretty, stack);
comma = true;
}
}
buf.push("}");

View file

@ -260,6 +260,8 @@ angularWidget('ng:include', function(element){
compiler.compile(element)(element, childScope);
childScope.$init();
});
} else {
element.html('');
}
});
};

View file

@ -454,6 +454,23 @@ describe("widget", function(){
scope.$init();
expect(element.text()).toEqual('misko');
});
it('should remove previously included text if a falsy value is bound to src', function() {
var element = jqLite('<ng:include src="url" scope="childScope"></ng:include>');
var scope = angular.compile(element);
scope.childScope = createScope();
scope.childScope.name = 'igor';
scope.url = 'myUrl';
scope.$xhr.cache.data.myUrl = {value:'{{name}}'};
scope.$init();
expect(element.text()).toEqual('igor');
scope.url = undefined;
scope.$eval();
expect(element.text()).toEqual('');
});
});
});