class SerializedConstraintValidatorTest
Tests serialize validator.
Attributes
#[CoversClass(SerializedConstraintValidator::class)]
#[Group('Validation')]
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\Core\Validation\Plugin\Validation\Constraint\SerializedConstraintValidatorTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of SerializedConstraintValidatorTest
File
-
core/
tests/ Drupal/ Tests/ Core/ Validation/ Plugin/ Validation/ Constraint/ SerializedConstraintValidatorTest.php, line 20
Namespace
Drupal\Tests\Core\Validation\Plugin\Validation\ConstraintView source
class SerializedConstraintValidatorTest extends UnitTestCase {
/**
* Validate serializer constraint.
*/
public function testValidate($value, bool $valid) : void {
$typed_data = new StringData(DataDefinition::create('string'));
$context = $this->createMock(ExecutionContextInterface::class);
$context->expects($this->any())
->method('getObject')
->willReturn($typed_data);
if ($valid) {
$context->expects($this->never())
->method('addViolation');
}
else {
$context->expects($this->once())
->method('addViolation');
}
$constraint = new SerializedConstraint();
$validate = new SerializedConstraintValidator();
$validate->initialize($context);
$validate->validate($value, $constraint);
}
/**
* Provides an array with several serialized and non-serialized values.
*
* @return array
* An array with test scenarios.
*/
public static function provideTestValidate() : array {
$data = [];
$data[] = [
serialize(''),
TRUE,
];
$data[] = [
serialize('0'),
TRUE,
];
$data[] = [
serialize('false'),
TRUE,
];
$data[] = [
serialize(0),
TRUE,
];
$data[] = [
serialize(1),
TRUE,
];
$data[] = [
serialize(TRUE),
TRUE,
];
$data[] = [
serialize(FALSE),
TRUE,
];
$data[] = [
'non serialized string',
FALSE,
];
$data[] = [
TRUE,
FALSE,
];
$data[] = [
new \stdClass(),
FALSE,
];
return $data;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.