function OptionsProviderTest::provideOptionsProviders

Provides test data for testOptionsProviders().

File

tests/src/Functional/OptionsProvider/OptionsProviderTest.php, line 94

Class

OptionsProviderTest
Tests using option providers.

Namespace

Drupal\Tests\rules\Functional\OptionsProvider

Code

public function provideOptionsProviders() {
  $output = [
    'Entity bundles' => [
      EntityBundleOptions::class,
      [
        'Comment' => [
          'comment' => 'Default comments (comment)',
        ],
        'Contact message' => [
          'feedback' => 'Website feedback (feedback)',
          'personal' => 'Personal contact form (personal)',
        ],
        'Content' => [
          'article' => 'Article',
          'page' => 'Basic page (page)',
        ],
        'Custom block' => [
          'basic' => 'Basic block (basic)',
        ],
        'Custom menu link' => [
          'menu_link_content' => 'Custom menu link (menu_link_content)',
        ],
        'File' => [
          'file' => 'File',
        ],
        'Shortcut link' => [
          'default' => 'Default',
        ],
        'Taxonomy term' => [
          'tags' => 'Tags',
        ],
        'URL alias' => [
          'path_alias' => 'URL alias (path_alias)',
        ],
        'User' => [
          'user' => 'User',
        ],
      ],
    ],
    'Entity types' => [
      EntityTypeOptions::class,
      [
        'comment' => 'Comment',
        'contact_message' => 'Contact message',
        'node' => 'Content (node)',
        'block_content' => 'Custom block (block_content)',
        'menu_link_content' => 'Custom menu link (menu_link_content)',
        'file' => 'File',
        'shortcut' => 'Shortcut link (shortcut)',
        'taxonomy_term' => 'Taxonomy term',
        'path_alias' => 'URL alias (path_alias)',
        'user' => 'User',
      ],
    ],
    'Fields' => [
      FieldListOptions::class,
      [
        'access' => 'access (timestamp)',
        'alias' => 'alias (string)',
        'body' => 'body (text_with_summary)',
        'bundle' => 'bundle (string)',
        'changed' => 'changed (changed)',
        'cid' => 'cid (integer)',
        'comment' => 'comment (comment)',
        'comment_body' => 'comment_body (text_long)',
        'comment_type' => 'comment_type (entity_reference)',
        'contact_form' => 'contact_form (entity_reference)',
        'copy' => 'copy (boolean)',
        'created' => 'created (created)',
        'default_langcode' => 'default_langcode (boolean)',
        'description' => 'description (text_long)',
        'enabled' => 'enabled (boolean)',
        'entity_id' => 'entity_id (entity_reference)',
        'entity_type' => 'entity_type (string)',
        'expanded' => 'expanded (boolean)',
        'external' => 'external (boolean)',
        'fid' => 'fid (integer)',
        'field_image' => 'field_image (image)',
        'field_name' => 'field_name (string)',
        'field_tags' => 'field_tags (entity_reference)',
        'filemime' => 'filemime (string)',
        'filename' => 'filename (string)',
        'filesize' => 'filesize (integer)',
        'homepage' => 'homepage (uri)',
        'hostname' => 'hostname (string)',
        'id' => 'id (integer)',
        'info' => 'info (string)',
        'init' => 'init (email)',
        'langcode' => 'langcode (language)',
        'link' => 'link (link)',
        'login' => 'login (timestamp)',
        'mail' => 'mail (email)',
        'menu_name' => 'menu_name (string)',
        'message' => 'message (string_long)',
        'name' => 'name (string)',
        'nid' => 'nid (integer)',
        'parent' => 'parent (entity_reference)',
        'pass' => 'pass (password)',
        'path' => 'path (path)',
        'pid' => 'pid (entity_reference)',
        'preferred_admin_langcode' => 'preferred_admin_langcode (language)',
        'preferred_langcode' => 'preferred_langcode (language)',
        'promote' => 'promote (boolean)',
        'recipient' => 'recipient (entity_reference)',
        'rediscover' => 'rediscover (boolean)',
        'reusable' => 'reusable (boolean)',
        'revision_created' => 'revision_created (created)',
        'revision_default' => 'revision_default (boolean)',
        'revision_id' => 'revision_id (integer)',
        'revision_log' => 'revision_log (string_long)',
        'revision_log_message' => 'revision_log_message (string_long)',
        'revision_timestamp' => 'revision_timestamp (created)',
        'revision_translation_affected' => 'revision_translation_affected (boolean)',
        'revision_uid' => 'revision_uid (entity_reference)',
        'revision_user' => 'revision_user (entity_reference)',
        'roles' => 'roles (entity_reference)',
        'shortcut_set' => 'shortcut_set (entity_reference)',
        'status' => 'status (boolean)',
        'sticky' => 'sticky (boolean)',
        'subject' => 'subject (string)',
        'thread' => 'thread (string)',
        'tid' => 'tid (integer)',
        'timezone' => 'timezone (string)',
        'title' => 'title (string)',
        'type' => 'type (entity_reference)',
        'uid' => 'uid (integer)',
        'uri' => 'uri (file_uri)',
        'user_picture' => 'user_picture (image)',
        'uuid' => 'uuid (uuid)',
        'vid' => 'vid (entity_reference)',
        'weight' => 'weight (integer)',
      ],
    ],
    'Languages' => [
      LanguageOptions::class,
      [
        'en' => 'English - default (en)',
        'und' => 'Not specified',
      ],
    ],
    'Node types' => [
      NodeTypeOptions::class,
      [
        'article' => 'Article',
        'page' => 'Basic page (page)',
      ],
    ],
  ];
  // @todo Remove this when Drupal 10.1 is the lowest-supported version.
  if (version_compare(\Drupal::VERSION, '10.1') >= 0) {
    // Some strings changed in Drupal 10.1.
    // @see https://www.drupal.org/project/drupal/issues/3318549
    $output['Entity bundles'][1] = [
      'Comment' => [
        'comment' => 'Default comments (comment)',
      ],
      'Contact message' => [
        'feedback' => 'Website feedback (feedback)',
        'personal' => 'Personal contact form (personal)',
      ],
      'Content' => [
        'article' => 'Article',
        'page' => 'Basic page (page)',
      ],
      'Content block' => [
        'basic' => 'Basic block (basic)',
      ],
      'Custom menu link' => [
        'menu_link_content' => 'Custom menu link (menu_link_content)',
      ],
      'File' => [
        'file' => 'File',
      ],
      'Shortcut link' => [
        'default' => 'Default',
      ],
      'Taxonomy term' => [
        'tags' => 'Tags',
      ],
      'URL alias' => [
        'path_alias' => 'URL alias (path_alias)',
      ],
      'User' => [
        'user' => 'User',
      ],
    ];
    $output['Entity types'][1]['block_content'] = 'Content block (block_content)';
  }
  return $output;
}