You are here

public function AuthcacheEnumKeysTestCase::testDeprecatedCustomAuthenticatedKeys in Authenticated User Page Caching (Authcache) 7.2

Test deprecated authenticated key customization.

File

modules/authcache_enum/lib/Drupal/authcache_enum/Tests/AuthcacheEnumKeysTestCase.php, line 238
Defines a test case covering _authcache_enum_cartesian.

Class

AuthcacheEnumKeysTestCase
Unit tests for _authcache_enum_comb.

Namespace

Drupal\authcache_enum\Tests

Code

public function testDeprecatedCustomAuthenticatedKeys() {
  global $base_root;
  $rid1 = (int) $this
    ->drupalCreateRole(array());
  $rid2 = (int) $this
    ->drupalCreateRole(array());
  variable_set('authcache_roles', array(
    DRUPAL_ANONYMOUS_RID => DRUPAL_ANONYMOUS_RID,
    DRUPAL_AUTHENTICATED_RID => DRUPAL_AUTHENTICATED_RID,
    $rid1 => $rid1,
    $rid2 => $rid2,
  ));
  $property_info = array(
    'js' => array(
      'name' => t('Browser supports JavaScript'),
      'choices' => array(
        TRUE,
        FALSE,
      ),
    ),
  );
  $expect_properties = array(
    array(
      'base_root' => $base_root,
      'roles' => array(
        DRUPAL_AUTHENTICATED_RID,
      ),
      'js' => FALSE,
    ),
    array(
      'base_root' => $base_root,
      'roles' => array(
        DRUPAL_AUTHENTICATED_RID,
      ),
      'js' => TRUE,
    ),
    array(
      'base_root' => $base_root,
      'roles' => array(
        $rid1,
      ),
      'js' => FALSE,
    ),
    array(
      'base_root' => $base_root,
      'roles' => array(
        $rid1,
      ),
      'js' => TRUE,
    ),
    array(
      'base_root' => $base_root,
      'roles' => array(
        $rid2,
      ),
      'js' => FALSE,
    ),
    array(
      'base_root' => $base_root,
      'roles' => array(
        $rid2,
      ),
      'js' => TRUE,
    ),
    array(
      'base_root' => $base_root,
      'roles' => array(
        $rid1,
        $rid2,
      ),
      'js' => FALSE,
    ),
    array(
      'base_root' => $base_root,
      'roles' => array(
        $rid1,
        $rid2,
      ),
      'js' => TRUE,
    ),
  );
  $user_keys = array_map('authcache_user_key', $expect_properties);
  $expect_alter = array_combine($user_keys, $expect_properties);
  ksort($expect_alter);
  $expect_keys = $user_keys;
  $expect_keys[] = $base_root;
  $keystub = $this->stubmod
    ->hook('authcache_enum_key_properties', $property_info);
  $alterstub = $this->stubmod
    ->hook('authcache_enum_key_properties_alter');
  $result = authcache_enum_keys();
  $this
    ->assertStub($keystub, \HookStub::once());
  $this
    ->assertStub($alterstub, \HookStub::once());
  $this
    ->assertStub($alterstub, \HookStub::args(array(
    $expect_alter,
    NULL,
    NULL,
    NULL,
  ), 0, FALSE));
  sort($result);
  sort($expect_keys);
  $this
    ->assertEqual($expect_keys, $result);
}