public function ClassCollectionLoaderTest::testTraitDependencies

File

drupal/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php, line 23

Class

ClassCollectionLoaderTest

Namespace

Symfony\Component\ClassLoader\Tests

Code

public function testTraitDependencies() {
  if (version_compare(phpversion(), '5.4', '<')) {
    $this
      ->markTestSkipped('Requires PHP > 5.4');
    return;
  }
  require_once __DIR__ . '/Fixtures/deps/traits.php';
  $r = new \ReflectionClass('Symfony\\Component\\ClassLoader\\ClassCollectionLoader');
  $m = $r
    ->getMethod('getOrderedClasses');
  $m
    ->setAccessible(true);
  $ordered = $m
    ->invoke('Symfony\\Component\\ClassLoader\\ClassCollectionLoader', array(
    'CTFoo',
  ));
  $this
    ->assertEquals(array(
    'TD',
    'TC',
    'TB',
    'TA',
    'TZ',
    'CTFoo',
  ), array_map(function ($class) {
    return $class
      ->getName();
  }, $ordered));
  $ordered = $m
    ->invoke('Symfony\\Component\\ClassLoader\\ClassCollectionLoader', array(
    'CTBar',
  ));
  $this
    ->assertEquals(array(
    'TD',
    'TZ',
    'TC',
    'TB',
    'TA',
    'CTBar',
  ), array_map(function ($class) {
    return $class
      ->getName();
  }, $ordered));
}