Chris@0: installEntitySchema('user'); Chris@0: $this->installSchema('dblog', ['watchdog']); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests links with non latin characters. Chris@0: */ Chris@0: public function testNonLatinCharacters() { Chris@0: Chris@0: $link = 'hello- Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰 Chris@0: 科州的小九寨沟绝美高山湖泊酱凉拌素鸡照烧鸡黄玫瑰'; Chris@0: Chris@0: \Drupal::logger('my_module')->warning('test', ['link' => $link]); Chris@0: Chris@0: $log = \Drupal::database() Chris@0: ->select('watchdog', 'w') Chris@0: ->fields('w', ['link']) Chris@0: ->condition('link', '', '<>') Chris@0: ->execute() Chris@0: ->fetchField(); Chris@0: Chris@0: $this->assertEquals($log, $link); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests corrupted log entries can still display available data. Chris@0: */ Chris@0: public function testDbLogCorrupted() { Chris@0: $dblog_controller = DbLogController::create($this->container); Chris@0: Chris@0: // Check message with properly serialized data. Chris@0: $message = (object) [ Chris@0: 'message' => 'Sample message with placeholder: @placeholder', Chris@0: 'variables' => serialize(['@placeholder' => 'test placeholder']), Chris@0: ]; Chris@0: Chris@0: $this->assertEquals('Sample message with placeholder: test placeholder', $dblog_controller->formatMessage($message)); Chris@0: Chris@0: // Check that controller work with corrupted data. Chris@0: $message->variables = 'BAD SERIALIZED DATA'; Chris@0: $formatted = $dblog_controller->formatMessage($message); Chris@0: $this->assertEquals('Log data is corrupted and cannot be unserialized: Sample message with placeholder: @placeholder', $formatted); Chris@0: } Chris@0: Chris@0: }