function NodeTestBase::assertNodeAccess

Asserts that node_access() correctly grants or denies access.

Parameters

array $ops: An associative array of the expected node access grants for the node and account, with each key as the name of an operation (e.g. 'view', 'delete') and each value a Boolean indicating whether access to that operation should be granted.

\Drupal\node\Plugin\Core\Entity\Node $node: The node object to check.

\Drupal\Core\Session\AccountInterface $account: The user account for which to check access.

string|null $langcode: (optional) The language code indicating which translation of the node to check. If NULL, the untranslated (fallback) access is checked.

5 calls to NodeTestBase::assertNodeAccess()
NodeAccessLanguageAwareCombinationTest::testNodeAccessLanguageAwareCombination in drupal/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareCombinationTest.php
Tests node_access() and node access queries with multiple node languages.
NodeAccessLanguageAwareTest::testNodeAccessLanguageAware in drupal/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareTest.php
Tests node_access() and node access queries with multiple node languages.
NodeAccessLanguageTest::testNodeAccess in drupal/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php
Tests node_access() with multiple node languages and no private nodes.
NodeAccessLanguageTest::testNodeAccessPrivate in drupal/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php
Tests node_access() with multiple node languages and private nodes.
NodeAccessTest::testNodeAccess in drupal/core/modules/node/lib/Drupal/node/Tests/NodeAccessTest.php
Runs basic tests for node_access function.

File

drupal/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php, line 51
Definition of Drupal\node\Tests\NodeTestBase.

Class

NodeTestBase
Sets up page and article content types.

Namespace

Drupal\node\Tests

Code

function assertNodeAccess(array $ops, $node, AccountInterface $account, $langcode = NULL) {
  foreach ($ops as $op => $result) {
    $msg = format_string('node_access() returns @result with operation %op, language code %langcode.', array(
      '@result' => $result ? 'true' : 'false',
      '%op' => $op,
      '%langcode' => !empty($langcode) ? $langcode : 'empty',
    ));
    $this
      ->assertEqual($result, node_access($op, $node, $account, $langcode), $msg);
  }
}