You are here

public function SettingsTest::providerTestFakeDeprecatedSettings in Drupal 9

Provides data for testFakeDeprecatedSettings().

Note: Tests for real deprecated settings should not be added here.

See also

self::providerTestRealDeprecatedSettings()

File

core/tests/Drupal/Tests/Core/Site/SettingsTest.php, line 219

Class

SettingsTest
@coversDefaultClass \Drupal\Core\Site\Settings @runTestsInSeparateProcesses @group Site

Namespace

Drupal\Tests\Core\Site

Code

public function providerTestFakeDeprecatedSettings() : array {
  $only_legacy = [
    'deprecated_legacy' => 'old',
  ];
  $only_replacement = [
    'happy_replacement' => 'new',
  ];
  $both_settings = [
    'deprecated_legacy' => 'old',
    'happy_replacement' => 'new',
  ];
  return [
    'Only legacy defined, get legacy' => [
      $only_legacy,
      'deprecated_legacy',
      'old',
    ],
    'Only legacy defined, get replacement' => [
      $only_legacy,
      'happy_replacement',
      // Since the new setting isn't yet defined, use the old value.
      'old',
    ],
    'Both legacy and replacement defined, get legacy' => [
      $both_settings,
      'deprecated_legacy',
      // Since the replacement is already defined, that should be used.
      'new',
    ],
    'Both legacy and replacement defined, get replacement' => [
      $both_settings,
      'happy_replacement',
      'new',
    ],
    'Only replacement defined, get legacy' => [
      $only_replacement,
      'deprecated_legacy',
      // Should get the new value.
      'new',
    ],
    'Only replacement defined, get replacement' => [
      $only_replacement,
      'happy_replacement',
      // Should get the new value.
      'new',
      // No deprecation since the old name is neither used nor defined.
      FALSE,
    ],
  ];
}