You are here

public function FileManagedUnitTestBase::assertFileHookCalled in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/file/tests/src/Kernel/FileManagedUnitTestBase.php \Drupal\Tests\file\Kernel\FileManagedUnitTestBase::assertFileHookCalled()

Assert that a hook_file_* hook was called a certain number of times.

Parameters

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

int $expected_count: Optional integer count.

string $message: Optional translated string message.

3 calls to FileManagedUnitTestBase::assertFileHookCalled()
LoadTest::testMultiple in core/modules/file/tests/src/Kernel/LoadTest.php
This will test loading file data from the database.
LoadTest::testSingleValues in core/modules/file/tests/src/Kernel/LoadTest.php
Load a single file and ensure that the correct values are returned.
LoadTest::testUuidValues in core/modules/file/tests/src/Kernel/LoadTest.php
Loads a single file and ensure that the correct values are returned.

File

core/modules/file/tests/src/Kernel/FileManagedUnitTestBase.php, line 85

Class

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

Namespace

Drupal\Tests\file\Kernel

Code

public function assertFileHookCalled($hook, $expected_count = 1, $message = NULL) {
  $actual_count = count(file_test_get_calls($hook));
  if (!isset($message)) {
    if ($actual_count == $expected_count) {
      $message = new FormattableMarkup('hook_file_@name was called correctly.', [
        '@name' => $hook,
      ]);
    }
    elseif ($expected_count == 0) {
      $message = \Drupal::translation()
        ->formatPlural($actual_count, 'hook_file_@name was not expected to be called but was actually called once.', 'hook_file_@name was not expected to be called but was actually called @count times.', [
        '@name' => $hook,
        '@count' => $actual_count,
      ]);
    }
    else {
      $message = new FormattableMarkup('hook_file_@name was expected to be called %expected times but was called %actual times.', [
        '@name' => $hook,
        '%expected' => $expected_count,
        '%actual' => $actual_count,
      ]);
    }
  }
  $this
    ->assertEquals($expected_count, $actual_count, $message);
}