diff options
Diffstat (limited to 'src/scenario/dsl.js')
| -rw-r--r-- | src/scenario/dsl.js | 20 |
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; }); }; }); |
