You are here

public function NodeViewTest::testMultiByteUtf8 in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/node/tests/src/Functional/NodeViewTest.php \Drupal\Tests\node\Functional\NodeViewTest::testMultiByteUtf8()

Tests that we store and retrieve multi-byte UTF-8 characters correctly.

File

core/modules/node/tests/src/Functional/NodeViewTest.php, line 55

Class

NodeViewTest
Tests the node/{node} page.

Namespace

Drupal\Tests\node\Functional

Code

public function testMultiByteUtf8() {
  $title = '🐝';

  // To ensure that the title has multi-byte characters, we compare the byte
  // length to the character length.
  $this
    ->assertLessThan(strlen($title), mb_strlen($title, 'utf-8'));
  $node = $this
    ->drupalCreateNode([
    'title' => $title,
  ]);
  $this
    ->drupalGet($node
    ->toUrl());

  // Verify that the passed title was returned.
  $this
    ->assertSession()
    ->elementTextEquals('xpath', '//span[contains(@class, "field--name-title")]', $title);
}