Neos\Flow\Tests\Unit\Validation\Validator\GenericObjectValidatorTest::validateCanHandleRecursiveTargetsWithoutEndlessLooping PHP 메소드

validateCanHandleRecursiveTargetsWithoutEndlessLooping() 공개 메소드

    public function validateCanHandleRecursiveTargetsWithoutEndlessLooping()
    {
        $classNameA = 'B' . md5(uniqid(mt_rand(), true));
        eval('class ' . $classNameA . '{ public $b; }');
        $classNameB = 'B' . md5(uniqid(mt_rand(), true));
        eval('class ' . $classNameB . '{ public $a; }');
        $A = new $classNameA();
        $B = new $classNameB();
        $A->b = $B;
        $B->a = $A;
        $aValidator = new GenericObjectValidator([]);
        $bValidator = new GenericObjectValidator([]);
        $aValidator->addPropertyValidator('b', $bValidator);
        $bValidator->addPropertyValidator('a', $aValidator);
        $this->assertFalse($aValidator->validate($A)->hasErrors());
    }