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); + }); +});
