Mercurial > hg > cmmr2012-drupal-site
diff core/modules/dblog/tests/src/Kernel/DbLogControllerTest.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/dblog/tests/src/Kernel/DbLogControllerTest.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,79 @@ +<?php + +namespace Drupal\Tests\dblog\Kernel; + +use Drupal\dblog\Controller\DbLogController; +use Drupal\KernelTests\KernelTestBase; + +/** + * Tests for the DbLogController class. + * + * @group dblog + */ +class DbLogControllerTest extends KernelTestBase { + + /** + * {@inheritdoc} + */ + public static $modules = ['dblog', 'user']; + + public function setUp() { + parent::setUp(); + $this->installEntitySchema('user'); + $this->installSchema('dblog', ['watchdog']); + } + + /** + * Tests links with non latin characters. + */ + public function testNonLatinCharacters() { + + $link = 'hello- + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 + 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰'; + + \Drupal::logger('my_module')->warning('test', ['link' => $link]); + + $log = \Drupal::database() + ->select('watchdog', 'w') + ->fields('w', ['link']) + ->condition('link', '', '<>') + ->execute() + ->fetchField(); + + $this->assertEquals($log, $link); + } + + /** + * Tests corrupted log entries can still display available data. + */ + 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); + } + +}