diff options
| -rw-r--r-- | docs/validator.template | 1 | ||||
| -rw-r--r-- | docs/widget.template | 1 | ||||
| -rw-r--r-- | docs/wiki_widgets.js | 2 | ||||
| -rw-r--r-- | src/validators.js | 30 | ||||
| -rw-r--r-- | src/widgets.js | 23 | 
5 files changed, 49 insertions, 8 deletions
diff --git a/docs/validator.template b/docs/validator.template index 0d1a04f2..517a2fa0 100644 --- a/docs/validator.template +++ b/docs/validator.template @@ -22,6 +22,7 @@  <h2>Example</h2>  {{{exampleDescription}}} +  <WIKI:SOURCE style="display:block;">  {{{example}}}  </WIKI:SOURCE>
\ No newline at end of file diff --git a/docs/widget.template b/docs/widget.template index b26bfb1c..f07bd9b2 100644 --- a/docs/widget.template +++ b/docs/widget.template @@ -20,6 +20,7 @@    <li><tt>{{name}}:{{#type}}{{type}}{{/type}}{{^type}}:*{{/type}}{{#default}}={{default}}{{/default}}</tt>: {{{description}}}</li>    {{/param}}  </ul> +{{{paramDescription}}}  <h3>CSS</h3>  {{{css}}} diff --git a/docs/wiki_widgets.js b/docs/wiki_widgets.js index 0147536b..771d3f8c 100644 --- a/docs/wiki_widgets.js +++ b/docs/wiki_widgets.js @@ -20,7 +20,7 @@  			'<li class="tab selected" to="angular"><angular/></li>' +  			'<li class="tab" to="plain">plain</li>' +  			'<li class="tab" to="source">source</li>' + -			'<li class="pane selected angular">' + html + '</li>' + +			'<li class="pane selected angular example">' + html + '</li>' +  			'<li class="pane plain" ng:non-bindable>' + html + '</li>' +  			'<li class="pane source" ng:non-bindable><pre class="brush: js; html-script: true"></pre></li>' +  			'</ul>'); diff --git a/src/validators.js b/src/validators.js index a1543f41..2d8b5354 100644 --- a/src/validators.js +++ b/src/validators.js @@ -116,29 +116,45 @@ extend(angularValidator, {     *      *    * `data`: data object as passed from validate function     *  -   * @css ng-input-indicator-wait +   * @css ng-input-indicator-wait, ng-validation-error     *      * @exampleDescription     * <pre> -   * function myValidator (value, callback) { +   * function myValidator (inputToValidate, validationDone) {     *  // simulate delayed response, validate on even input length     *  setTimeout(function(){ -   *    callback(value.length % 2); -   *  }, 2000); +   *    validationDone(inputToValidate.length % 2); +   *  }, 500);     * };     * </pre>     *      * @example     * <script> -   *   function myValidator(value, callback) { +   *   function myValidator(inputToValidate, validationDone) {     *    setTimeout(function(){ -   *      callback(value.length % 2); -   *    }, 2000); +   *      validationDone(inputToValidate.length % 2); +   *    }, 500);     *  }     * </script>     *  This input is validated asynchronously:     *  <input name="text" ng:validate="asynchronous:$window.myValidator">     *  +   * @scenario +   * it('should change color in delayed way', function(){ +   *   var textBox = element('.example :input'); +   *   expect(textBox.attr('className')).not().toMatch(/ng-input-indicator-wait/); +   *   expect(textBox.attr('className')).not().toMatch(/ng-validation-error/); +   *    +   *   input('text').enter('X'); +   *   expect(textBox.attr('className')).toMatch(/ng-input-indicator-wait/); +   *    +   *   pause(.6); +   *    +   *   expect(textBox.attr('className')).not().toMatch(/ng-input-indicator-wait/); +   *   expect(textBox.attr('className')).toMatch(/ng-validation-error/); +   *    +   * }); +   *      */    /*     * cache is attached to the element diff --git a/src/widgets.js b/src/widgets.js index 7a06fd6c..4845e694 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -268,6 +268,17 @@ angularWidget('option', function(){   *   <ng:include src="url"></ng:include>   *   * @scenario + * it('should load date filter', function(){ + *   expect(element('.example ng\\:include').text()).toMatch(/angular\.filter\.date/); + * }); + * it('should change to hmtl filter', function(){ + *   select('url').option('angular.filter.html.html'); + *   expect(element('.example ng\\:include').text()).toMatch(/angular\.filter\.html/); + * }); + * it('should change to blank', function(){ + *   select('url').option('(blank)'); + *   expect(element('.example ng\\:include').text()).toEqual(''); + * });   */  angularWidget('ng:include', function(element){    var compiler = this, @@ -328,6 +339,11 @@ angularWidget('ng:include', function(element){   *   <any ng:switch-when="matchValueN"/>...</any>   *    * @param {*} on expression to match against <tt>ng:switch-when</tt>. + * @paramDescription  + * On child elments add: + *  + * * `ng:switch-when`: the case statement to match against. If match then this + *   case will be displayed.   *   * @example      <select name="switch"> @@ -343,6 +359,13 @@ angularWidget('ng:include', function(element){      </code>   *   * @scenario + * it('should start in settings', function(){ + *   expect(element('.example ng\\:switch').text()).toEqual('Settings Div'); + * }); + * it('should change to home', function(){ + *   select('switch').option('home'); + *   expect(element('.example ng\\:switch').text()).toEqual('Home Span'); + * });   */  var ngSwitch = angularWidget('ng:switch', function (element){    var compiler = this,  | 
