function WritableFileSystemValidatorTest::providerWritable

Data provider for testWritable().

Return value

mixed[][] The test cases.

File

core/modules/package_manager/tests/src/Kernel/WritableFileSystemValidatorTest.php, line 33

Class

WritableFileSystemValidatorTest
Unit tests the file system permissions validator.

Namespace

Drupal\Tests\package_manager\Kernel

Code

public static function providerWritable() : array {
  // @see \Drupal\Tests\package_manager\Traits\ValidationTestTrait::resolvePlaceholdersInArrayValuesWithRealPaths()
  $drupal_root_error = t('The Drupal directory "<PROJECT_ROOT>/web" is not writable.');
  $vendor_error = t('The vendor directory "<VENDOR_DIR>" is not writable.');
  $project_root_error = t('The project root directory "<PROJECT_ROOT>" is not writable.');
  $summary = t('The file system is not writable.');
  $writable_permission = 0777;
  $non_writable_permission = 0550;
  return [
    'root and vendor are writable, nested web root' => [
      $writable_permission,
      $writable_permission,
      $writable_permission,
      'web',
      [],
    ],
    'root writable, vendor not writable, nested web root' => [
      $writable_permission,
      $writable_permission,
      $non_writable_permission,
      'web',
      [
        ValidationResult::createError([
          $vendor_error,
        ], $summary),
      ],
    ],
    'root not writable, vendor writable, nested web root' => [
      $non_writable_permission,
      $non_writable_permission,
      $writable_permission,
      'web',
      [
        ValidationResult::createError([
          $drupal_root_error,
          $project_root_error,
        ], $summary),
      ],
    ],
    'nothing writable, nested web root' => [
      $non_writable_permission,
      $non_writable_permission,
      $non_writable_permission,
      'web',
      [
        ValidationResult::createError([
          $drupal_root_error,
          $project_root_error,
          $vendor_error,
        ], $summary),
      ],
    ],
    'root and vendor are writable, non-nested web root' => [
      $writable_permission,
      $writable_permission,
      $writable_permission,
      '',
      [],
    ],
    'root writable, vendor not writable, non-nested web root' => [
      $writable_permission,
      $writable_permission,
      $non_writable_permission,
      '',
      [
        ValidationResult::createError([
          $vendor_error,
        ], $summary),
      ],
    ],
    'root not writable, vendor writable, non-nested web root' => [
      $non_writable_permission,
      $non_writable_permission,
      $writable_permission,
      '',
      [
        ValidationResult::createError([
          $project_root_error,
        ], $summary),
      ],
    ],
    'nothing writable, non-nested web root' => [
      $non_writable_permission,
      $non_writable_permission,
      $non_writable_permission,
      '',
      [
        ValidationResult::createError([
          $project_root_error,
          $vendor_error,
        ], $summary),
      ],
    ],
  ];
}

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