You are here

public function ClassCollectionLoaderTest::testFixClassWithTraitsOrdering in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/class-loader/Tests/ClassCollectionLoaderTest.php \Symfony\Component\ClassLoader\Tests\ClassCollectionLoaderTest::testFixClassWithTraitsOrdering()

File

vendor/symfony/class-loader/Tests/ClassCollectionLoaderTest.php, line 149

Class

ClassCollectionLoaderTest

Namespace

Symfony\Component\ClassLoader\Tests

Code

public function testFixClassWithTraitsOrdering() {
  if (PHP_VERSION_ID < 50400) {
    $this
      ->markTestSkipped('Requires PHP > 5.4');
    return;
  }
  require_once __DIR__ . '/Fixtures/ClassesWithParents/CTrait.php';
  require_once __DIR__ . '/Fixtures/ClassesWithParents/F.php';
  require_once __DIR__ . '/Fixtures/ClassesWithParents/G.php';
  $classes = array(
    'ClassesWithParents\\F',
    'ClassesWithParents\\G',
  );
  $expected = array(
    'ClassesWithParents\\CTrait',
    'ClassesWithParents\\F',
    'ClassesWithParents\\G',
  );
  $r = new \ReflectionClass('Symfony\\Component\\ClassLoader\\ClassCollectionLoader');
  $m = $r
    ->getMethod('getOrderedClasses');
  $m
    ->setAccessible(true);
  $ordered = $m
    ->invoke('Symfony\\Component\\ClassLoader\\ClassCollectionLoader', $classes);
  $this
    ->assertEquals($expected, array_map(function ($class) {
    return $class
      ->getName();
  }, $ordered));
}