class ClassFinderTest

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Component/ClassFinder/ClassFinderTest.php \Drupal\Tests\Component\ClassFinder\ClassFinderTest
  2. 8.9.x core/tests/Drupal/Tests/Component/ClassFinder/ClassFinderTest.php \Drupal\Tests\Component\ClassFinder\ClassFinderTest
  3. 11.x core/tests/Drupal/Tests/Component/ClassFinder/ClassFinderTest.php \Drupal\Tests\Component\ClassFinder\ClassFinderTest

@coversDefaultClass \Drupal\Component\ClassFinder\ClassFinder
@group ClassFinder

Hierarchy

  • class \Drupal\Tests\Component\ClassFinder\ClassFinderTest implements \PHPUnit\Framework\TestCase

Expanded class hierarchy of ClassFinderTest

File

core/tests/Drupal/Tests/Component/ClassFinder/ClassFinderTest.php, line 15

Namespace

Drupal\Tests\Component\ClassFinder
View source
class ClassFinderTest extends TestCase {
  
  /**
   * @covers ::findFile
   */
  public function testFindFile() : void {
    $finder = new ClassFinder();
    // The full path is returned therefore only tests with
    // assertStringEndsWith() so the test is portable.
    $expected_path = str_replace('/', DIRECTORY_SEPARATOR, 'core/tests/Drupal/Tests/Component/ClassFinder/ClassFinderTest.php');
    $this->assertStringEndsWith($expected_path, $finder->findFile(ClassFinderTest::class));
    $class = 'Not\\A\\Class';
    $this->assertNull($finder->findFile($class));
    // Register an autoloader that can find this class.
    $loader = new ClassLoader();
    $loader->addClassMap([
      $class => __FILE__,
    ]);
    $loader->register();
    $this->assertEquals(__FILE__, $finder->findFile($class));
    // This shouldn't prevent us from finding the original file.
    $this->assertStringEndsWith($expected_path, $finder->findFile(ClassFinderTest::class));
    // Clean up the additional autoloader after the test.
    $loader->unregister();
  }

}

Members

Title Sort descending Modifiers Object type Summary
ClassFinderTest::testFindFile public function @covers ::findFile[[api-linebreak]]

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