function AccessManagerTest::testSetChecks

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php \Drupal\Tests\Core\Access\AccessManagerTest::testSetChecks()
  2. 8.9.x core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php \Drupal\Tests\Core\Access\AccessManagerTest::testSetChecks()
  3. 10 core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php \Drupal\Tests\Core\Access\AccessManagerTest::testSetChecks()

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

File

core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php, line 135

Class

AccessManagerTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Access%21AccessManager.php/class/AccessManager/11.x" title="Attaches access check services to routes and runs them on request." class="local">\Drupal\Core\Access\AccessManager</a> @group Access

Namespace

Drupal\Tests\Core\Access

Code

public function testSetChecks() : void {
    // Check setChecks without any access checker defined yet.
    $this->checkProvider
        ->setChecks($this->routeCollection);
    foreach ($this->routeCollection
        ->all() as $route) {
        $this->assertNull($route->getOption('_access_checks'));
    }
    $this->setupAccessChecker();
    $this->checkProvider
        ->setChecks($this->routeCollection);
    $this->assertNull($this->routeCollection
        ->get('test_route_1')
        ->getOption('_access_checks'));
    $this->assertEquals([
        'test_access_default',
    ], $this->routeCollection
        ->get('test_route_2')
        ->getOption('_access_checks'));
    $this->assertEquals([
        'test_access_default',
    ], $this->routeCollection
        ->get('test_route_3')
        ->getOption('_access_checks'));
}

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