function IconFinderTest::testExtractIconIdFromFilenameWarning

Test the IconFinder::extractIconIdFromFilename method with failing pattern.

File

core/tests/Drupal/Tests/Core/Theme/Icon/IconFinderTest.php, line 776

Class

IconFinderTest
@coversDefaultClass \Drupal\Core\Theme\Icon\IconFinder[[api-linebreak]]

Namespace

Drupal\Tests\Core\Theme\Icon

Code

public function testExtractIconIdFromFilenameWarning() : void {
  $method = new \ReflectionMethod(IconFinder::class, 'extractIconIdFromFilename');
  $method->setAccessible(TRUE);
  // PHPUnit 10 cannot expect warnings, so we have to catch them ourselves.
  // Thanks to: Drupal\Tests\Component\PhpStorage\FileStorageTest.
  $messages = [];
  set_error_handler(function (int $errno, string $errstr) use (&$messages) : void {
    $messages[] = [
      $errno,
      $errstr,
    ];
  });
  $method->invoke($this->iconFinder, 'foo*bar*baz', 'foo*{icon_id}*baz');
  restore_error_handler();
  $this->assertCount(1, $messages);
  $this->assertSame(E_WARNING, $messages[0][0]);
  $this->assertSame('preg_match(): Compilation failed: quantifier does not follow a repeatable item at offset 19', $messages[0][1]);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.