diff --git a/core/modules/dblog/tests/src/Functional/DbLogTest.php b/core/modules/dblog/tests/src/Functional/DbLogTest.php index 76bdd6151d..bddc80712b 100644 --- a/core/modules/dblog/tests/src/Functional/DbLogTest.php +++ b/core/modules/dblog/tests/src/Functional/DbLogTest.php @@ -208,18 +208,13 @@ private function runCron() { private function generateLogEntries($count, $options = []) { global $base_root; - // This long URL makes it just a little bit harder to pass the link part of - // the test with a mix of English words and a repeating series of random - // percent-encoded Chinese characters. - $link = urldecode('/content/xo%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A%E9%85%B1%E5%87%89%E6%8B%8C%E7%B4%A0%E9%B8%A1%E7%85%A7%E7%83%A7%E9%B8%A1%E9%BB%84%E7%8E%AB%E7%91%B0-%E7%A7%91%E5%B7%9E%E7%9A%84%E5%B0%8F%E4%B9%9D%E5%AF%A8%E6%B2%9F%E7%BB%9D%E7%BE%8E%E9%AB%98%E5%B1%B1%E6%B9%96%E6%B3%8A-lake-isabelle'); - // Prepare the fields to be logged $log = $options + [ 'channel' => 'custom', 'message' => 'Dblog test log message', 'variables' => [], 'severity' => RfcLogLevel::NOTICE, - 'link' => $link, + 'link' => NULL, 'user' => $this->adminUser, 'uid' => $this->adminUser->id(), 'request_uri' => $base_root . \Drupal::request()->getRequestUri(), diff --git a/core/modules/dblog/tests/src/Kernel/DbLogControllerTest.php b/core/modules/dblog/tests/src/Kernel/DbLogControllerTest.php index d6d88faa2d..8d650a774b 100644 --- a/core/modules/dblog/tests/src/Kernel/DbLogControllerTest.php +++ b/core/modules/dblog/tests/src/Kernel/DbLogControllerTest.php @@ -17,11 +17,49 @@ class DbLogControllerTest extends KernelTestBase { */ 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() { - $this->installEntitySchema('user'); $dblog_controller = DbLogController::create($this->container); // Check message with properly serialized data.