public function AccessManagerTest::testCheck

Tests \Drupal\Core\Access\AccessManager::check().

File

drupal/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php, line 96
Contains \Drupal\Tests\Core\Access\AccessManagerTest.

Class

AccessManagerTest
Tests the access manager.

Namespace

Drupal\Tests\Core\Access

Code

public function testCheck() {
  $request = new Request();

  // Check check without any access checker defined yet.
  foreach ($this->routeCollection
    ->all() as $route) {
    $this
      ->assertFalse($this->accessManager
      ->check($route, $request));
  }
  $this
    ->setupAccessChecker();

  // An access checker got setup, but the routes haven't been setup using
  // setChecks.
  foreach ($this->routeCollection
    ->all() as $route) {
    $this
      ->assertFalse($this->accessManager
      ->check($route, $request));
  }
  $this->accessManager
    ->setChecks($this->routeCollection);
  $this
    ->assertFalse($this->accessManager
    ->check($this->routeCollection
    ->get('test_route_1'), $request));
  $this
    ->assertTrue($this->accessManager
    ->check($this->routeCollection
    ->get('test_route_2'), $request));
  $this
    ->assertFalse($this->accessManager
    ->check($this->routeCollection
    ->get('test_route_3'), $request));
}