function KernelTestBase::__get

Same name and namespace in other branches
  1. 10 core/tests/Drupal/KernelTests/KernelTestBase.php \Drupal\KernelTests\KernelTestBase::__get()

BC: Automatically resolve former KernelTestBase class properties.

Test authors should follow the provided instructions and adjust their tests accordingly.

Deprecated

in drupal:8.0.0 and is removed from drupal:9.0.0.

File

core/tests/Drupal/KernelTests/KernelTestBase.php, line 1027

Class

KernelTestBase
Base class for functional integration tests.

Namespace

Drupal\KernelTests

Code

public function __get($name) {
    if (in_array($name, [
        'public_files_directory',
        'private_files_directory',
        'temp_files_directory',
        'translation_files_directory',
    ])) {
        // @comment it in again.
        trigger_error(sprintf("KernelTestBase::\$%s no longer exists. Use the regular API method to retrieve it instead (e.g., Settings).", $name), E_USER_DEPRECATED);
        switch ($name) {
            case 'public_files_directory':
                return Settings::get('file_public_path', \Drupal::service('site.path') . '/files');
            case 'private_files_directory':
                return Settings::get('file_private_path');
            case 'temp_files_directory':
                return \Drupal::service('file_system')->getTempDirectory();
            case 'translation_files_directory':
                return Settings::get('file_public_path', \Drupal::service('site.path') . '/translations');
        }
    }
    if ($name === 'configDirectories') {
        trigger_error(sprintf("KernelTestBase::\$%s no longer exists. Use Settings::get('config_sync_directory') directly instead.", $name), E_USER_DEPRECATED);
        return [
            CONFIG_SYNC_DIRECTORY => Settings::get('config_sync_directory'),
        ];
    }
    $denied = [
        // @see \Drupal\simpletest\TestBase
'testId',
        'timeLimit',
        'results',
        'assertions',
        'skipClasses',
        'verbose',
        'verboseId',
        'verboseClassName',
        'verboseDirectory',
        'verboseDirectoryUrl',
        'dieOnFail',
        'kernel',
        // @see \Drupal\simpletest\TestBase::prepareEnvironment()
'generatedTestFiles',
        // Properties from the old KernelTestBase class that has been removed.
'keyValueFactory',
    ];
    if (in_array($name, $denied) || strpos($name, 'original') === 0) {
        throw new \RuntimeException(sprintf('TestBase::$%s property no longer exists', $name));
    }
}

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