From 62c0e5c46091d8b98a20c31ab26e715bad574bae Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Tue, 26 Oct 2010 22:02:24 -0700 Subject: Fix failing tests for ie, and mark elements as ng-widget, ng-directive, and ng-binding --- src/scenario/dsl.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/scenario') 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; }); }; }); -- cgit v1.2.3