34 $proxyClassName = $this->
buildAccessibleProxy(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ConjunctionValidator');
35 $conjunctionValidator =
new $proxyClassName(array());
36 $mockValidator = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface');
37 $conjunctionValidator->addValidator($mockValidator);
38 $this->assertTrue($conjunctionValidator->_get(
'validators')->contains($mockValidator));
48 $validatorConjunction = new \TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator(array());
49 $validatorObject = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
50 $validatorObject->expects($this->once())->method(
'validate')->will($this->returnValue(
new \
TYPO3\CMS\Extbase\Error\Result()));
51 $errors = new \TYPO3\CMS\Extbase\Error\Result();
52 $errors->addError(
new \
TYPO3\CMS\Extbase\Error\Error(
'Error', 123));
53 $secondValidatorObject = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
54 $secondValidatorObject->expects($this->once())->method(
'validate')->will($this->returnValue($errors));
55 $thirdValidatorObject = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
56 $thirdValidatorObject->expects($this->once())->method(
'validate')->will($this->returnValue(
new \
TYPO3\CMS\Extbase\Error\Result()));
57 $validatorConjunction->addValidator($validatorObject);
58 $validatorConjunction->addValidator($secondValidatorObject);
59 $validatorConjunction->addValidator($thirdValidatorObject);
60 $validatorConjunction->validate(
'some subject');
68 $validatorConjunction = new \TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator(array());
69 $validatorObject = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
70 $validatorObject->expects($this->any())->method(
'validate')->will($this->returnValue(
new \
TYPO3\CMS\Extbase\Error\Result()));
71 $secondValidatorObject = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
72 $secondValidatorObject->expects($this->any())->method(
'validate')->will($this->returnValue(
new \
TYPO3\CMS\Extbase\Error\Result()));
73 $validatorConjunction->addValidator($validatorObject);
74 $validatorConjunction->addValidator($secondValidatorObject);
75 $this->assertFalse($validatorConjunction->validate(
'some subject')->hasErrors());
84 $validatorConjunction = new \TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator(array());
85 $validatorObject = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
86 $errors = new \TYPO3\CMS\Extbase\Error\Result();
87 $errors->addError(
new \
TYPO3\CMS\Extbase\Error\Error(
'Error', 123));
88 $validatorObject->expects($this->any())->method(
'validate')->will($this->returnValue($errors));
89 $validatorConjunction->addValidator($validatorObject);
90 $this->assertTrue($validatorConjunction->validate(
'some subject')->hasErrors());
97 public function removingAValidatorOfTheValidatorConjunctionWorks() {
99 $validatorConjunction = $this->
getAccessibleMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ConjunctionValidator', array(
'dummy'), array(array()),
'', TRUE);
100 $validator1 = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
101 $validator2 = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
102 $validatorConjunction->addValidator($validator1);
103 $validatorConjunction->addValidator($validator2);
104 $validatorConjunction->removeValidator($validator1);
105 $this->assertFalse($validatorConjunction->_get(
'validators')->contains($validator1));
106 $this->assertTrue($validatorConjunction->_get(
'validators')->contains($validator2));
115 $validatorConjunction = new \TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator(array());
116 $validator = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
117 $validatorConjunction->removeValidator($validator);
125 $validatorConjunction = new \TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator(array());
126 $validator1 = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
127 $validator2 = $this->getMock(
'TYPO3\\CMS\\Extbase\\Validation\\Validator\\ValidatorInterface', array(
'validate'));
128 $this->assertSame(0, count($validatorConjunction));
129 $validatorConjunction->addValidator($validator1);
130 $validatorConjunction->addValidator($validator2);
131 $this->assertSame(2, count($validatorConjunction));
validatorConjunctionReturnsErrorsIfOneValidatorReturnsErrors()
allValidatorsInTheConjunctionAreCalledEvenIfOneReturnsError()
getAccessibleMock( $originalClassName, array $methods=array(), array $arguments=array(), $mockClassName='', $callOriginalConstructor=TRUE, $callOriginalClone=TRUE, $callAutoload=TRUE)
countReturnesTheNumberOfValidatorsContainedInTheConjunction()
buildAccessibleProxy($className)
validatorConjunctionReturnsNoErrorsIfAllJunctionedValidatorsReturnNoErrors()
removingANotExistingValidatorIndexThrowsException()
addingValidatorsToAJunctionValidatorWorks()