public function createValidatorResolvesAndReturnsAValidatorAndPassesTheGivenOptions()
{
$className = 'Test' . md5(uniqid(mt_rand(), true));
eval('class ' . $className . ' implements \\Neos\\Flow\\Validation\\Validator\\ValidatorInterface {
protected $options = array();
public function __construct(array $options = array()) {
$this->options = $options;
}
public function validate($subject) {}
public function getOptions() { return $this->options; }
}');
$mockObjectManager = $this->createMock(ObjectManagerInterface::class);
$mockObjectManager->expects($this->any())->method('getScope')->with($className)->will($this->returnValue(Configuration::SCOPE_PROTOTYPE));
$validatorResolver = $this->getAccessibleMock(ValidatorResolver::class, ['resolveValidatorObjectName']);
$validatorResolver->_set('objectManager', $mockObjectManager);
$validatorResolver->expects($this->once())->method('resolveValidatorObjectName')->with($className)->will($this->returnValue($className));
$validator = $validatorResolver->createValidator($className, ['foo' => 'bar']);
$this->assertInstanceOf($className, $validator);
$this->assertEquals(['foo' => 'bar'], $validator->getOptions());
}