blob: 8a5241bbf0c50de23202893cad08c325fadce779 [file] [log] [blame]
dojo.registerModulePath("tapestry", "../tapestry");
dojo.require("tapestry.core");
dojo.require("tapestry.event");
dojo.require("tapestry.test");
dojo.require("tapestry.form");
dojo.require("dojo.lang.*");
dojo.require("dojo.validate.check");
function test_register_invalidform(){
try {
tapestry.form.registerForm("bsid");
throw new JUMAssertFailure("Previous test should have failed.");
} catch (e) {
jum.assertTrue("testFormRegisterInvalid", e instanceof Error);
}
}
function test_register_form(){
var form = document.createElement("form");
form.setAttribute("id", "regform");
form.submit=function(){
form.submitCalled=true;
}
form.submitname={value:""};
tapestry.form.registerForm("regform");
jum.assertTrue("formregForm", dojo.lang.isObject(tapestry.form.forms["regform"]));
jum.assertTrue("formregProfiles", dojo.lang.isArray(tapestry.form.forms["regform"].profiles));
jum.assertEquals("formregProfileLength", 0, tapestry.form.forms["regform"].profiles.length);
}
function test_validate_realNumber(){
var value="a12";
jum.assertFalse(value, dojo.validate.isRealNumber(value, {places:0,decimal:".",separator:","}));
}
function test_validate_decimals(){
var input = "1,124.12";
jum.assertTrue(dojo.validate.isRealNumber(input, {decimal:".",separator:","}));
jum.assertTrue(dojo.validate.isInRange(input, {min:2.0,decimal:".",separator:",",symbol:"�"}));
jum.assertTrue(dojo.validate.isInRange(input, {max:1000000001,decimal:".",separator:",",symbol:"�"}));
}
function test_validate_required(){
// A generic form
var f = {
tx1: {type: "text", value: " 1001 ", name: "tx1"},
tx2: {type: "text", value: " ", name: "tx2"},
tx3: {type: "text", value: "10/19/2005", name: "tx3"},
};
// Profile for form input
var profile = {
// required fields
required: ["tx2"]
};
// results object
var results = dojo.validate.check(f, profile);
jum.assertTrue("missing_tx2", results.isMissing("tx2"));
}
/*
dojo.event.browser.stopEvent=function(e){
if (e) {
if (!e["preventDefault"]) { e.preventDefault(); }
if (!e["stopPropogation"]) { e.stopPropagation(); }
}
}
function test_cancel_form(){
var form = document.createElement("form");
form.setAttribute("id", "canform");
form.submit=function(){
form.submitCalled=true;
this.onsubmit();
}
form.onsubmit=function(){}
form.submitname={value:""};
form.submitmode={value:""};
jum.assertTrue("regform exists", dojo.byId("canform"));
tapestry.form.registerForm(form);
jum.assertTrue("formregForm", dojo.lang.isObject(tapestry.form.forms["canform"]));
jum.assertTrue("formregProfiles", dojo.lang.isArray(tapestry.form.forms["canform"].profiles));
jum.assertEquals("formregProfileLength", 0, tapestry.form.forms["canform"].profiles.length);
tapestry.form.registerProfile("canform", {required:["field1"]});
jum.assertEquals("formregProfileLength2", 1, tapestry.form.forms["canform"].profiles.length);
var formValidated=false;
var valObj={
intercept:function(){this.formValidated=true;}
};
dojo.event.connect(tapestry.form.validation, "validateForm", valObj, "intercept");
tapestry.form.cancel("canform");
jum.assertTrue("canFormSubmitted", form.submitCalled);
jum.assertFalse("canFormValidated", valObj.formValidated);
dojo.event.disconnect(tapestry.form.validation, "validateForm", valObj, "intercept");
}
function test_validate_form(){
var form = document.createElement("form");
form.setAttribute("id", "valform");
form.submit=function(){
form.submitCalled=true;
this.onsubmit();
}
form.onsubmit=function(){}
form.submitname={value:""};
form.submitmode={value:""};
tapestry.form.registerForm(form);
tapestry.form.registerProfile("valform", {required:["field1"]});
jum.assertEquals("formValProfiles", 1, tapestry.form.forms["valform"].profiles.length);
var formValidated=false;
var valObj={
intercept:function(){this.formValidated=true;}
};
dojo.event.connect(tapestry.form.validation, "validateForm", valObj, "intercept");
tapestry.form.submit("valform");
jum.assertTrue("valFormSubmitted", form.submitCalled);
jum.assertTrue("valFormValidated", valObj.formValidated);
dojo.event.disconnect(tapestry.form.validation, "validateForm", valObj, "intercept");
}
*/