RedUNIT\Base\Typechecking::testBeanTypeChecking PHP Method

testBeanTypeChecking() public method

Test bean type checking.
public testBeanTypeChecking ( ) : void
return void
    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();
        }
    }