function ThemeProceduralTest::testPreprocess

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

Ensures preprocess functions run from procedural implementations.

File

core/modules/system/tests/src/Functional/Theme/ThemeProceduralTest.php, line 33

Class

ThemeProceduralTest
Tests low-level theme functions.

Namespace

Drupal\Tests\system\Functional\Theme

Code

public function testPreprocess() : void {
  $node_article_type = NodeType::create([
    'type' => 'article',
    'name' => 'Article',
  ]);
  $node_article_type->save();
  $node_basic_type = NodeType::create([
    'type' => 'basic',
    'name' => 'Basic',
  ]);
  $node_basic_type->save();
  $node = Node::create([
    'title' => 'placeholder_title',
    'type' => 'article',
    'uid' => 1,
  ]);
  $node->save();
  $node = Node::create([
    'title' => 'placeholder_title',
    'type' => 'basic',
    'uid' => 1,
  ]);
  $node->save();
  $this->drupalGet('node/1');
  $items = $this->cssSelect('.title');
  $this->assertEquals('Procedural Article Node Preprocess', $items[0]->getText());
  $this->drupalGet('node/2');
  $items = $this->cssSelect('.title');
  $this->assertEquals('Procedural Node Preprocess', $items[0]->getText());
}

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