Upgraded drupal core with security updates
[yaffs-website] / web / core / tests / Drupal / Tests / Core / Access / DefaultAccessCheckTest.php
1 <?php
2
3 namespace Drupal\Tests\Core\Access;
4
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;
10
11 /**
12  * @coversDefaultClass \Drupal\Core\Access\DefaultAccessCheck
13  * @group Access
14  */
15 class DefaultAccessCheckTest extends UnitTestCase {
16
17   /**
18    * The access checker to test.
19    *
20    * @var \Drupal\Core\Access\DefaultAccessCheck
21    */
22   protected $accessChecker;
23
24   /**
25    * The mocked account.
26    *
27    * @var \Drupal\Core\Session\AccountInterface|\PHPUnit_Framework_MockObject_MockObject
28    */
29   protected $account;
30
31   /**
32    * {@inheritdoc}
33    */
34   protected function setUp() {
35     parent::setUp();
36
37     $this->account = $this->getMock('Drupal\Core\Session\AccountInterface');
38     $this->accessChecker = new DefaultAccessCheck();
39   }
40
41   /**
42    * Test the access method.
43    */
44   public function testAccess() {
45     $request = new Request([]);
46
47     $route = new Route('/test-route', [], ['_access' => 'NULL']);
48     $this->assertEquals(AccessResult::neutral(), $this->accessChecker->access($route, $request, $this->account));
49
50     $route = new Route('/test-route', [], ['_access' => 'FALSE']);
51     $this->assertEquals(AccessResult::forbidden(), $this->accessChecker->access($route, $request, $this->account));
52
53     $route = new Route('/test-route', [], ['_access' => 'TRUE']);
54     $this->assertEquals(AccessResult::allowed(), $this->accessChecker->access($route, $request, $this->account));
55   }
56
57 }