aboutsummaryrefslogtreecommitdiffstats
path: root/src/scenario/dsl.js
diff options
context:
space:
mode:
authorMisko Hevery2010-10-26 22:02:24 -0700
committerMisko Hevery2010-10-27 15:42:46 -0700
commit62c0e5c46091d8b98a20c31ab26e715bad574bae (patch)
tree18e73b82cb9017b9e9b66d3ec094c53ce0b633a8 /src/scenario/dsl.js
parentc67af8a03819004c4aaa775805badd1e631af738 (diff)
downloadangular.js-62c0e5c46091d8b98a20c31ab26e715bad574bae.tar.bz2
Fix failing tests for ie, and mark elements as ng-widget, ng-directive, and ng-binding
Diffstat (limited to 'src/scenario/dsl.js')
-rw-r--r--src/scenario/dsl.js20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/scenario/dsl.js b/src/scenario/dsl.js
index 1ae26db8..47ec68c8 100644
--- a/src/scenario/dsl.js
+++ b/src/scenario/dsl.js
@@ -86,17 +86,21 @@ angular.scenario.dsl('using', function() {
* binding(name) returns the value of a binding
*/
angular.scenario.dsl('binding', function() {
+ function contains(text, value) {
+ return text && text.indexOf(value) >=0;
+ }
return function(name) {
return this.addFutureAction("select binding '" + name + "'", function($window, $document, done) {
- var element;
- try {
- element = $document.elements('[ng\\:bind-template*="{{$1}}"]', name);
- } catch(e) {
- if (e.type !== 'selector')
- throw e;
- element = $document.elements('[ng\\:bind="$1"]', name);
+ var elements = $document.elements('.ng-binding');
+ for ( var i = 0; i < elements.length; i++) {
+ var element = new elements.init(elements[i]);
+ if (contains(element.attr('ng:bind'), name) >= 0 ||
+ contains(element.attr('ng:bind-template'), name) >= 0) {
+ done(null, element.text());
+ return;
+ }
}
- done(null, element.text());
+ throw "Could not find binding: " + name;
});
};
});