function FileManagedTestBase::assertFileHooksCalled
Same name in this branch
- 8.9.x core/modules/file/tests/src/Functional/FileManagedTestBase.php \Drupal\Tests\file\Functional\FileManagedTestBase::assertFileHooksCalled()
Same name in other branches
- 9 core/modules/file/tests/src/Functional/FileManagedTestBase.php \Drupal\Tests\file\Functional\FileManagedTestBase::assertFileHooksCalled()
- 10 core/modules/file/tests/src/Functional/FileManagedTestBase.php \Drupal\Tests\file\Functional\FileManagedTestBase::assertFileHooksCalled()
- 11.x core/modules/file/tests/src/Functional/FileManagedTestBase.php \Drupal\Tests\file\Functional\FileManagedTestBase::assertFileHooksCalled()
Assert that all of the specified hook_file_* hooks were called once, other values result in failure.
Parameters
string[] $expected: An array of strings containing with the hook name; for example, 'load', 'save', 'insert', etc.
File
-
core/
modules/ file/ src/ Tests/ FileManagedTestBase.php, line 42
Class
- FileManagedTestBase
- Base class for file tests that use the file_test module to test uploads and hooks.
Namespace
Drupal\file\TestsCode
public function assertFileHooksCalled($expected) {
\Drupal::state()->resetCache();
// Determine which hooks were called.
$actual = array_keys(array_filter(file_test_get_all_calls()));
// Determine if there were any expected that were not called.
$uncalled = array_diff($expected, $actual);
if (count($uncalled)) {
$this->assertTrue(FALSE, new FormattableMarkup('Expected hooks %expected to be called but %uncalled was not called.', [
'%expected' => implode(', ', $expected),
'%uncalled' => implode(', ', $uncalled),
]));
}
else {
$this->assertTrue(TRUE, new FormattableMarkup('All the expected hooks were called: %expected', [
'%expected' => empty($expected) ? '(none)' : implode(', ', $expected),
]));
}
// Determine if there were any unexpected calls.
$unexpected = array_diff($actual, $expected);
if (count($unexpected)) {
$this->assertTrue(FALSE, new FormattableMarkup('Unexpected hooks were called: %unexpected.', [
'%unexpected' => empty($unexpected) ? '(none)' : implode(', ', $unexpected),
]));
}
else {
$this->assertTrue(TRUE, 'No unexpected hooks were called.');
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.