aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/validator.template1
-rw-r--r--docs/widget.template1
-rw-r--r--docs/wiki_widgets.js2
-rw-r--r--src/validators.js30
-rw-r--r--src/widgets.js23
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">&lt;angular/&gt;</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,