You are here

public function DbLogControllerTest::testDbLogCorrupted in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/dblog/tests/src/Kernel/DbLogControllerTest.php \Drupal\Tests\dblog\Kernel\DbLogControllerTest::testDbLogCorrupted()

Tests corrupted log entries can still display available data.

File

core/modules/dblog/tests/src/Kernel/DbLogControllerTest.php, line 62

Class

DbLogControllerTest
Tests for the DbLogController class.

Namespace

Drupal\Tests\dblog\Kernel

Code

public function testDbLogCorrupted() {
  $dblog_controller = DbLogController::create($this->container);

  // Check message with properly serialized data.
  $message = (object) [
    'message' => 'Sample message with placeholder: @placeholder',
    'variables' => serialize([
      '@placeholder' => 'test placeholder',
    ]),
  ];
  $this
    ->assertEquals('Sample message with placeholder: test placeholder', $dblog_controller
    ->formatMessage($message));

  // Check that controller work with corrupted data.
  $message->variables = 'BAD SERIALIZED DATA';
  $formatted = $dblog_controller
    ->formatMessage($message);
  $this
    ->assertEquals('Log data is corrupted and cannot be unserialized: Sample message with placeholder: @placeholder', $formatted);
}