aboutsummaryrefslogtreecommitdiffstats
path: root/src/scenario/Scenario.js
diff options
context:
space:
mode:
authorElliott Sprehn2010-11-08 23:26:36 -0800
committerMisko Hevery2010-11-09 13:39:12 -0800
commit257e97a65f7dd794faa5d8c0d72bbd5a894cb471 (patch)
tree8fa51fbe70c657985e03fdb1762832c3ff913679 /src/scenario/Scenario.js
parentc048f0d8e8385e96e9fff0b4ff733cecfa726d93 (diff)
downloadangular.js-257e97a65f7dd794faa5d8c0d72bbd5a894cb471.tar.bz2
Support substring matching of bindings with repeater(). Closes #123
Diffstat (limited to 'src/scenario/Scenario.js')
-rw-r--r--src/scenario/Scenario.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/scenario/Scenario.js b/src/scenario/Scenario.js
index fc7150bc..ae1a6760 100644
--- a/src/scenario/Scenario.js
+++ b/src/scenario/Scenario.js
@@ -294,3 +294,31 @@ function browserTrigger(element, type) {
};
})(_jQuery.fn);
+/**
+ * Finds all bindings with the substring match of name and returns an
+ * array of their values.
+ *
+ * @param {string} name The name to match
+ * @return {Array.<string>} String of binding values
+ */
+_jQuery.fn.bindings = function(name) {
+ function contains(text, value) {
+ return value instanceof RegExp ?
+ value.test(text) :
+ text && text.indexOf(value) >= 0;
+ }
+ var result = [];
+ this.find('.ng-binding').each(function() {
+ var element = new _jQuery(this);
+ if (!angular.isDefined(name) ||
+ contains(element.attr('ng:bind'), name) ||
+ contains(element.attr('ng:bind-template'), name)) {
+ if (element.is('input, textarea')) {
+ result.push(element.val());
+ } else {
+ result.push(element.html());
+ }
+ }
+ });
+ return result;
+};