You are here

public function ThemeTest::testSuggestionPreprocessForDefaults in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/system/tests/src/Functional/Theme/ThemeTest.php \Drupal\Tests\system\Functional\Theme\ThemeTest::testSuggestionPreprocessForDefaults()

Ensures suggestion preprocess functions run for default implementations.

The theme hook used by this test has its base preprocess function in a separate file, so this test also ensures that the file is correctly loaded when needed.

File

core/modules/system/tests/src/Functional/Theme/ThemeTest.php, line 177

Class

ThemeTest
Tests low-level theme functions.

Namespace

Drupal\Tests\system\Functional\Theme

Code

public function testSuggestionPreprocessForDefaults() {
  $this
    ->config('system.theme')
    ->set('default', 'test_theme')
    ->save();

  // Test with both an unprimed and primed theme registry.
  drupal_theme_rebuild();
  for ($i = 0; $i < 2; $i++) {
    $this
      ->drupalGet('theme-test/preprocess-suggestions');
    $items = $this
      ->cssSelect('.suggestion');
    $expected_values = [
      'Suggestion',
      'Kitten',
      'Monkey',
      'Kitten',
      'Flamingo',
    ];
    foreach ($expected_values as $key => $value) {
      $this
        ->assertEquals((string) $value, $items[$key]
        ->getText());
    }
  }
}