@qooxdoo/framework
Version:
The JS Framework for Coders
82 lines (65 loc) • 2.17 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2011 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Tino Butz (tbtz)
************************************************************************ */
qx.Class.define("qx.test.mobile.form.Form", {
extend: qx.test.mobile.MobileTestCase,
members: {
__username: null,
testValidation() {
var form = this.__createForm();
var renderer = new qx.ui.mobile.form.renderer.Single(form);
this.getRoot().add(renderer);
this.assertFalse(form.validate());
this.assertEquals(2, renderer._getChildren()[1].getChildren().length);
this.assertTrue(
qx.bom.element.Class.has(
renderer._getChildren()[1].getChildren()[1].getContainerElement(),
"invalid"
)
);
this.__username.setValue("myusername");
this.assertTrue(form.validate());
this.assertEquals(2, renderer._getChildren()[1].getChildren().length);
this.assertFalse(
qx.bom.element.Class.has(
renderer._getChildren()[1]._getChildren()[1].getContainerElement(),
"invalid"
)
);
this.__username.dispose();
renderer.dispose();
form.dispose();
},
__createForm() {
var form = new qx.ui.mobile.form.Form();
var validationManager = form.getValidationManager();
var username = (this.__username = new qx.ui.mobile.form.TextField().set({
placeholder: "Username"
}));
username.setRequired(true);
form.add(username, "Username: ");
validationManager.add(
username,
function (value, item) {
var valid = value != null && value.length > 3;
if (!valid) {
item.setInvalidMessage(
"username should have more than 3 characters!"
);
}
return valid;
},
this
);
return form;
}
}
});