diff options
| author | Elliott Sprehn | 2010-10-29 12:19:22 -0700 | 
|---|---|---|
| committer | Elliott Sprehn | 2010-10-29 12:19:22 -0700 | 
| commit | 9a532002cf490a3e26a827e2eab9c1c3d834e2b8 (patch) | |
| tree | b399736d322dc40523b64d56d6b4b9f9bcb9a867 /src | |
| parent | 5524d2b0fb9b87ef0d1beec092337f836a1043a8 (diff) | |
| download | angular.js-9a532002cf490a3e26a827e2eab9c1c3d834e2b8.tar.bz2 | |
Auto generate all the jQuery get/set methods
Diffstat (limited to 'src')
| -rw-r--r-- | src/scenario/dsl.js | 27 | 
1 files changed, 17 insertions, 10 deletions
diff --git a/src/scenario/dsl.js b/src/scenario/dsl.js index 358f1fce..8235e9e0 100644 --- a/src/scenario/dsl.js +++ b/src/scenario/dsl.js @@ -251,6 +251,10 @@ angular.scenario.dsl('select', function() {   *    element(selector, label).query(fn) executes fn(selectedElements, done)   */  angular.scenario.dsl('element', function() { +  var VALUE_METHODS = [ +    'val', 'text', 'html', 'height', 'innerHeight', 'outerHeight', 'width', +    'innerWidth', 'outerWidth', 'position', 'scrollLeft', 'scrollTop', 'offset' +  ];    var chain = {};    chain.count = function() { @@ -288,22 +292,25 @@ angular.scenario.dsl('element', function() {      });    }; -  chain.val = function(value) { -    var futureName = 'element ' + this.label + ' value'; -    if (value) { -      futureName = 'element ' + this.label + ' set value to ' + value; -    } -    return this.addFutureAction(futureName, function($window, $document, done) { -      done(null, $document.elements().val(value)); -    }); -  }; -    chain.query = function(fn) {      return this.addFutureAction('element ' + this.label + ' custom query', function($window, $document, done) {        fn.call(this, $document.elements(), done);      });    }; +  angular.foreach(VALUE_METHODS, function(methodName) { +    chain[methodName] = function(value) { +      var futureName = 'element ' + this.label + ' ' + methodName; +      if (value) { +        futureName = 'element ' + this.label + ' set ' + methodName + ' to ' + value; +      } +      return this.addFutureAction(futureName, function($window, $document, done) { +        var element = $document.elements(); +        done(null, element[methodName].call(element, value)); +      }); +    }; +  }); +    return function(selector, label) {      this.dsl.using(selector, label);      return chain;  | 
