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, |
