From 9627c4b50e1f8964fc59b0c2fd4914bd67514041 Mon Sep 17 00:00:00 2001
From: Alkis Evlogimenos
Date: Fri, 17 Sep 2010 19:44:23 +0200
Subject: Add ng:src and ng:href markup.
---
src/markups.js | 3 ++-
test/markupSpec.js | 14 ++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/markups.js b/src/markups.js
index 27f74518..f63dd146 100644
--- a/src/markups.js
+++ b/src/markups.js
@@ -69,6 +69,7 @@ angularTextMarkup('OPTION', function(text, textNode, parentElement){
});
var NG_BIND_ATTR = 'ng:bind-attr';
+var SPECIAL_ATTRS = {'ng:src': 'src', 'ng:href': 'href'};
angularAttrMarkup('{{}}', function(value, name, element){
// don't process existing attribute markup
if (angularDirective(name) || angularDirective("@" + name)) return;
@@ -79,7 +80,7 @@ angularAttrMarkup('{{}}', function(value, name, element){
if (hasBindings(bindings)) {
element.removeAttr(name);
bindAttr = fromJson(element.attr(NG_BIND_ATTR) || "{}");
- bindAttr[name] = value;
+ bindAttr[SPECIAL_ATTRS[name] || name] = value;
element.attr(NG_BIND_ATTR, toJson(bindAttr));
}
});
diff --git a/test/markupSpec.js b/test/markupSpec.js
index 5fe5bba9..1dd6f939 100644
--- a/test/markupSpec.js
+++ b/test/markupSpec.js
@@ -47,6 +47,20 @@ describe("markups", function(){
expect(sortedHtml(element).replace(' selected="true"', '')).toEqual('');
});
+ it('should bind href', function() {
+ compile('');
+ expect(sortedHtml(element)).toEqual('');
+ });
+
+ it('should bind src', function() {
+ compile('
');
+ expect(sortedHtml(element)).toEqual('
');
+ });
+
+ it('should bind href and merge with other attrs', function() {
+ compile('');
+ expect(sortedHtml(element)).toEqual('');
+ });
});
--
cgit v1.2.3