You are here

public function FileFieldPathTest::assertPathMatch in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/file/tests/src/Functional/FileFieldPathTest.php \Drupal\Tests\file\Functional\FileFieldPathTest::assertPathMatch()
  2. 9 core/modules/file/tests/src/Functional/FileFieldPathTest.php \Drupal\Tests\file\Functional\FileFieldPathTest::assertPathMatch()

Asserts that a file is uploaded to the right location.

@internal

Parameters

string $expected_path: The location where the file is expected to be uploaded. Duplicate file names to not need to be taken into account.

string $actual_path: Where the file was actually uploaded.

string $message: The message to display with this assertion.

File

core/modules/file/tests/src/Functional/FileFieldPathTest.php, line 91

Class

FileFieldPathTest
Tests that files are uploaded to proper locations.

Namespace

Drupal\Tests\file\Functional

Code

public function assertPathMatch(string $expected_path, string $actual_path, string $message) : void {

  // Strip off the extension of the expected path to allow for _0, _1, etc.
  // suffixes when the file hits a duplicate name.
  $pos = strrpos($expected_path, '.');
  $base_path = substr($expected_path, 0, $pos);
  $extension = substr($expected_path, $pos + 1);
  $result = (bool) preg_match('/' . preg_quote($base_path, '/') . '(_[0-9]+)?\\.' . preg_quote($extension, '/') . '/', $actual_path);
  $this
    ->assertTrue($result, $message);
}