function ValidateTest::testCallerValidation in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/file/src/Tests/ValidateTest.php \Drupal\file\Tests\ValidateTest::testCallerValidation()
Test that the validators passed into are checked.
File
- core/
modules/ file/ src/ Tests/ ValidateTest.php, line 19 - Contains \Drupal\file\Tests\ValidateTest.
Class
- ValidateTest
- Tests the file_validate() function.
Namespace
Drupal\file\TestsCode
function testCallerValidation() {
$file = $this
->createFile();
// Empty validators.
$this
->assertEqual(file_validate($file, array()), array(), 'Validating an empty array works successfully.');
$this
->assertFileHooksCalled(array(
'validate',
));
// Use the file_test.module's test validator to ensure that passing tests
// return correctly.
file_test_reset();
file_test_set_return('validate', array());
$passing = array(
'file_test_validator' => array(
array(),
),
);
$this
->assertEqual(file_validate($file, $passing), array(), 'Validating passes.');
$this
->assertFileHooksCalled(array(
'validate',
));
// Now test for failures in validators passed in and by hook_validate.
file_test_reset();
file_test_set_return('validate', array(
'Epic fail',
));
$failing = array(
'file_test_validator' => array(
array(
'Failed',
'Badly',
),
),
);
$this
->assertEqual(file_validate($file, $failing), array(
'Failed',
'Badly',
'Epic fail',
), 'Validating returns errors.');
$this
->assertFileHooksCalled(array(
'validate',
));
}