function BlockPluginHasSettingsTrayFormAccessCheckTest::providerTestAccess

Same name in other branches
  1. 8.9.x core/modules/settings_tray/tests/src/Unit/Access/BlockPluginHasSettingsTrayFormAccessCheckTest.php \Drupal\Tests\settings_tray\Unit\Access\BlockPluginHasSettingsTrayFormAccessCheckTest::providerTestAccess()
  2. 10 core/modules/settings_tray/tests/src/Unit/Access/BlockPluginHasSettingsTrayFormAccessCheckTest.php \Drupal\Tests\settings_tray\Unit\Access\BlockPluginHasSettingsTrayFormAccessCheckTest::providerTestAccess()
  3. 11.x core/modules/settings_tray/tests/src/Unit/Access/BlockPluginHasSettingsTrayFormAccessCheckTest.php \Drupal\Tests\settings_tray\Unit\Access\BlockPluginHasSettingsTrayFormAccessCheckTest::providerTestAccess()

Provides test data for ::testAccess().

File

core/modules/settings_tray/tests/src/Unit/Access/BlockPluginHasSettingsTrayFormAccessCheckTest.php, line 47

Class

BlockPluginHasSettingsTrayFormAccessCheckTest
@coversDefaultClass \Drupal\settings_tray\Access\BlockPluginHasSettingsTrayFormAccessCheck @group settings_tray

Namespace

Drupal\Tests\settings_tray\Unit\Access

Code

public function providerTestAccess() {
    $annotation_forms_settings_tray_class = [
        'forms' => [
            'settings_tray' => $this->randomMachineName(),
        ],
    ];
    $annotation_forms_settings_tray_not_set = [];
    $annotation_forms_settings_tray_false = [
        'forms' => [
            'settings_tray' => FALSE,
        ],
    ];
    return [
        'block plugin with forms, forms[settings_tray] set to class' => [
            TRUE,
            $annotation_forms_settings_tray_class,
            new AccessResultAllowed(),
        ],
        'block plugin with forms, forms[settings_tray] not set' => [
            TRUE,
            $annotation_forms_settings_tray_not_set,
            new AccessResultNeutral(),
        ],
        'block plugin with forms, forms[settings_tray] set to FALSE' => [
            TRUE,
            $annotation_forms_settings_tray_false,
            new AccessResultNeutral(),
        ],
        // In practice, all block plugins extend BlockBase, which means they all
        // implement PluginWithFormsInterface, but this may change in the future.
        // This ensures Settings Tray will continue to work correctly.
'block plugin without forms, forms[settings_tray] set to class' => [
            FALSE,
            $annotation_forms_settings_tray_class,
            new AccessResultNeutral(),
        ],
        'block plugin without forms, forms[settings_tray] not set' => [
            FALSE,
            $annotation_forms_settings_tray_not_set,
            new AccessResultNeutral(),
        ],
        'block plugin without forms, forms[settings_tray] set to FALSE' => [
            FALSE,
            $annotation_forms_settings_tray_false,
            new AccessResultNeutral(),
        ],
    ];
}

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