diff --git a/src/lib/annotations/annotations.html b/src/lib/annotations/annotations.html
index 1116f9ec7f..42f6425b43 100644
--- a/src/lib/annotations/annotations.html
+++ b/src/lib/annotations/annotations.html
@@ -90,7 +90,7 @@
},
_bindingRegex: (function() {
- var IDENT = '(?:' + '[a-zA-Z_$][\\w.:$-]*' + ')';
+ var IDENT = '(?:' + '[a-zA-Z_$][\\w.:$-*]*' + ')';
var NUMBER = '(?:' + '[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?' + ')';
var SQUOTE_STRING = '(?:' + '\'(?:[^\'\\\\]|\\\\.)*\'' + ')';
var DQUOTE_STRING = '(?:' + '"(?:[^"\\\\]|\\\\.)*"' + ')';
diff --git a/test/unit/bind-elements.html b/test/unit/bind-elements.html
index 555aea66d2..2b4c5cb23e 100644
--- a/test/unit/bind-elements.html
+++ b/test/unit/bind-elements.html
@@ -13,6 +13,7 @@
neg-computed-inline="{{!computeInline(value,add,divide)}}"
computed-negative-number="{{computeNegativeNumber(-1)}}"
computed-negative-literal="{{computeNegativeNumber(-A)}}"
+ computed-wildcard="{{computeWildcard(a, b.*)}}"
style$="{{boundStyle}}"
data-id$="{{dataSetId}}"
custom-event-value="{{customEventValue::custom}}"
@@ -256,6 +257,9 @@
},
computeCompound: function(a, b, c) {
return '' + c + b + a;
+ },
+ computeWildcard: function(a, bInfo) {
+ return a + (bInfo && bInfo.base ? bInfo.base.value : 0);
}
});
diff --git a/test/unit/bind.html b/test/unit/bind.html
index 2a55df6edb..25385eb471 100644
--- a/test/unit/bind.html
+++ b/test/unit/bind.html
@@ -269,6 +269,12 @@
assert.equal(el.$.boundChild.computedNegativeLiteral, undefined);
});
+ test('computed binding with wildcard', function() {
+ el.a = 5;
+ el.b = {value: 10};
+ assert.equal(el.$.boundChild.computedWildcard, 15);
+ });
+
});