3 namespace Drupal\Tests\Core\Access;
5 use Drupal\Core\Access\AccessResult;
6 use Drupal\Core\Access\DefaultAccessCheck;
7 use Drupal\Tests\UnitTestCase;
8 use Symfony\Component\HttpFoundation\Request;
9 use Symfony\Component\Routing\Route;
12 * @coversDefaultClass \Drupal\Core\Access\DefaultAccessCheck
15 class DefaultAccessCheckTest extends UnitTestCase {
18 * The access checker to test.
20 * @var \Drupal\Core\Access\DefaultAccessCheck
22 protected $accessChecker;
27 * @var \Drupal\Core\Session\AccountInterface|\PHPUnit_Framework_MockObject_MockObject
34 protected function setUp() {
37 $this->account = $this->getMock('Drupal\Core\Session\AccountInterface');
38 $this->accessChecker = new DefaultAccessCheck();
42 * Test the access method.
44 public function testAccess() {
45 $request = new Request([]);
47 $route = new Route('/test-route', [], ['_access' => 'NULL']);
48 $this->assertEquals(AccessResult::neutral(), $this->accessChecker->access($route, $request, $this->account));
50 $route = new Route('/test-route', [], ['_access' => 'FALSE']);
51 $this->assertEquals(AccessResult::forbidden(), $this->accessChecker->access($route, $request, $this->account));
53 $route = new Route('/test-route', [], ['_access' => 'TRUE']);
54 $this->assertEquals(AccessResult::allowed(), $this->accessChecker->access($route, $request, $this->account));