Repository: wicket
Updated Branches:
  refs/heads/master 9e03f68f1 -> 655763444


Added QUnit test suite for password field in ben validation example

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/65576344
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/65576344
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/65576344

Branch: refs/heads/master
Commit: 6557634443125febd730b5cce964a359248dc457
Parents: 9e03f68
Author: adelbene <[email protected]>
Authored: Thu Sep 11 12:50:35 2014 +0200
Committer: adelbene <[email protected]>
Committed: Thu Sep 11 12:50:35 2014 +0200

----------------------------------------------------------------------
 .../src/main/webapp/js-test/all.html            |  1 +
 .../js-test/tests/bean-validation/password.js   | 76 ++++++++++++++++++++
 2 files changed, 77 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/65576344/wicket-examples/src/main/webapp/js-test/all.html
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/webapp/js-test/all.html 
b/wicket-examples/src/main/webapp/js-test/all.html
index 0a23a16..658ec21 100644
--- a/wicket-examples/src/main/webapp/js-test/all.html
+++ b/wicket-examples/src/main/webapp/js-test/all.html
@@ -30,6 +30,7 @@
     <script type="text/javascript" 
src="tests/bean-validation/email.js"></script>
     <script type="text/javascript" 
src="tests/bean-validation/phone.js"></script>
     <script type="text/javascript" 
src="tests/bean-validation/birthdate.js"></script>
+    <script type="text/javascript" 
src="tests/bean-validation/password.js"></script>
 
     <script type="text/javascript" src="tests/mailtemplate.js"></script>
 </head>

http://git-wip-us.apache.org/repos/asf/wicket/blob/65576344/wicket-examples/src/main/webapp/js-test/tests/bean-validation/password.js
----------------------------------------------------------------------
diff --git 
a/wicket-examples/src/main/webapp/js-test/tests/bean-validation/password.js 
b/wicket-examples/src/main/webapp/js-test/tests/bean-validation/password.js
new file mode 100644
index 0000000..42345fb
--- /dev/null
+++ b/wicket-examples/src/main/webapp/js-test/tests/bean-validation/password.js
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*global module: true, ok: true, asyncTest: true, equal: true, expect: true, 
$q: true,
+ gym: true, start: true */
+
+$q(document).ready(function() {
+       "use strict";
+
+       var selectors = {
+
+               passwordInput: "input[name=password]",
+               passwordMissingDigitsErrorFeedback: "li.feedbackPanelERROR > 
span:contains(\"You need to have at least 2 digits in your password.\")",
+               passwordInvalidContentErrorFeedback: "li.feedbackPanelERROR > 
span:contains(\"Password value can contain only characters and digits.\")"
+
+       };
+
+       var submit = function($) {
+               return gym.click($('input[value=Submit]'));
+       };
+
+       module('Bean validation');
+
+       asyncTest('password', function () {
+               expect(7);
+
+               gym.load('/bean-validation')
+                       .then(function($) {
+
+                               // enter invalid chars for password
+                               var $input = $(selectors.passwordInput);
+                               $input.val('abc!?D');
+
+                               
equal($(selectors.passwordInvalidContentErrorFeedback).length, 0, 'The feedback 
message for invalid chars is NOT there');
+
+                               return submit($);
+                       }).then(function($) {
+
+                               
equal($(selectors.passwordInvalidContentErrorFeedback).length, 1, 'The feedback 
message for invalid chars is there');
+                               
equal($(selectors.passwordMissingDigitsErrorFeedback).length, 0, 'The feedback 
message for missing digits is NOT there');
+
+                               // enter a value without 2 digits
+                               var $input = $(selectors.passwordInput);
+                               $input.val('abcdefAA');
+                               
+                               return submit($);
+                       }).then(function($) {
+
+                               
equal($(selectors.passwordInvalidContentErrorFeedback).length, 0, 'The feedback 
message for invalid chars is NOT there');
+                               
equal($(selectors.passwordMissingDigitsErrorFeedback).length, 1, 'The feedback 
message for missing digits is there');
+
+                               // enter a valid password
+                               var $input = $(selectors.passwordInput);
+                               $input.val('abc4def5AA');
+                               
+                               return submit($);
+                       }).then(function($) {
+                               
equal($(selectors.passwordInvalidContentErrorFeedback).length, 0, 'The feedback 
message for invalid chars is NOT there');
+                               
equal($(selectors.passwordMissingDigitsErrorFeedback).length, 0, 'The feedback 
message for missing digits is NOT there');
+                       }).always(start);
+       });
+});

Reply via email to