public function testBeanTypeChecking()
{
$redbean = R::getRedBean();
$bean = $redbean->dispense("page");
// Set some illegal values in the bean; this should trigger Security exceptions.
// Arrays are not allowed.
$bean->name = array("1");
try {
$redbean->store($bean);
fail();
} catch (RedException $e) {
pass();
}
try {
$redbean->check($bean);
fail();
} catch (RedException $e) {
pass();
}
$bean->name = new OODBBean();
try {
$redbean->check($bean);
fail();
} catch (RedException $e) {
pass();
}
// Property names should be alphanumeric
$prop = ".";
$bean->{$prop} = 1;
try {
$redbean->store($bean);
fail();
} catch (RedException $e) {
pass();
}
try {
$redbean->check($bean);
fail();
} catch (RedException $e) {
pass();
}
// Really...
$prop = "-";
$bean->{$prop} = 1;
try {
$redbean->store($bean);
fail();
} catch (RedException $e) {
pass();
}
try {
$redbean->check($bean);
fail();
} catch (RedException $e) {
pass();
}
}