function FileHookTestCase::assertFileHooksCalled

Assert that all of the specified hook_file_* hooks were called once, other values result in failure.

Parameters

$expected: Array with string containing with the hook name, e.g. 'load', 'save', 'insert', etc.

30 calls to FileHookTestCase::assertFileHooksCalled()
FileCopyTest::testExistingError in modules/simpletest/tests/file.test
Test that copying over an existing file fails when FILE_EXISTS_ERROR is specified.
FileCopyTest::testExistingRename in modules/simpletest/tests/file.test
Test renaming when copying over a file that already exists.
FileCopyTest::testExistingReplace in modules/simpletest/tests/file.test
Test replacement when copying over a file that already exists.
FileCopyTest::testNormal in modules/simpletest/tests/file.test
Test file copying in the normal, base case.
FileDeleteTest::testInUse in modules/simpletest/tests/file.test
Tries deleting a file that is in use.

... See full list

File

modules/simpletest/tests/file.test, line 255

Class

FileHookTestCase
Base class for file tests that use the file_test module to test uploads and hooks.

Code

function assertFileHooksCalled($expected) {
    // 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, format_string('Expected hooks %expected to be called but %uncalled was not called.', array(
            '%expected' => implode(', ', $expected),
            '%uncalled' => implode(', ', $uncalled),
        )));
    }
    else {
        $this->assertTrue(TRUE, format_string('All the expected hooks were called: %expected', array(
            '%expected' => empty($expected) ? t('(none)') : implode(', ', $expected),
        )));
    }
    // Determine if there were any unexpected calls.
    $unexpected = array_diff($actual, $expected);
    if (count($unexpected)) {
        $this->assertTrue(FALSE, format_string('Unexpected hooks were called: %unexpected.', array(
            '%unexpected' => empty($unexpected) ? t('(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.