public function RouteProviderTest::testCandidateOutlines

Confirms that the correct candidate outlines are generated.

File

drupal/core/modules/system/lib/Drupal/system/Tests/Routing/RouteProviderTest.php, line 56
Contains Drupal\system\Tests\Routing\RouteProviderTest.

Class

RouteProviderTest
Basic tests for the RouteProvider.

Namespace

Drupal\system\Tests\Routing

Code

public function testCandidateOutlines() {
  $connection = Database::getConnection();
  $provider = new RouteProvider($connection);
  $parts = array(
    'node',
    '5',
    'edit',
  );
  $candidates = $provider
    ->getCandidateOutlines($parts);
  $candidates = array_flip($candidates);
  $this
    ->assertTrue(count($candidates) == 8, 'Correct number of candidates found');
  $this
    ->assertTrue(array_key_exists('/node/5/edit', $candidates), 'First candidate found.');
  $this
    ->assertTrue(array_key_exists('/node/5/%', $candidates), 'Second candidate found.');
  $this
    ->assertTrue(array_key_exists('/node/%/edit', $candidates), 'Third candidate found.');
  $this
    ->assertTrue(array_key_exists('/node/%/%', $candidates), 'Fourth candidate found.');
  $this
    ->assertTrue(array_key_exists('/node/5', $candidates), 'Fifth candidate found.');
  $this
    ->assertTrue(array_key_exists('/node/%', $candidates), 'Sixth candidate found.');
  $this
    ->assertTrue(array_key_exists('/node', $candidates), 'Seventh candidate found.');
  $this
    ->assertTrue(array_key_exists('/', $candidates), 'Eighth candidate found.');
}