function FileEncodingConstraintValidatorTest::testFileEncodings
Tests the FileEncodingConstraintValidator.
@dataProvider providerTestFileValidateEncodings @covers ::validate
Parameters
array $file_properties: The properties of the file being validated.
string[] $encodings: An array of the allowed file encodings.
string[] $expected_errors: The expected error messages as string.
File
-
core/
modules/ file/ tests/ src/ Kernel/ Plugin/ Validation/ Constraint/ FileEncodingConstraintValidatorTest.php, line 33
Class
- FileEncodingConstraintValidatorTest
- Tests the FileEncodingConstraintValidator.
Namespace
Drupal\Tests\file\Kernel\Plugin\Validation\ConstraintCode
public function testFileEncodings(array $file_properties, array $encodings, array $expected_errors) : void {
$data = 'Räme';
$data = mb_convert_encoding($data, $file_properties['encoding']);
file_put_contents($file_properties['uri'], $data);
$file = File::create($file_properties);
// Test for failure.
$validators = [
'FileEncoding' => [
'encodings' => $encodings,
],
];
$violations = $this->validator
->validate($file, $validators);
$actual_errors = [];
foreach ($violations as $violation) {
$actual_errors[] = $violation->getMessage();
}
$this->assertEquals($expected_errors, $actual_errors);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.