public function testEscapeMarkdown()
{
// Username.
$user = new User(['id' => 1, 'first_name' => 'John', 'last_name' => 'Taylor', 'username' => 'j_taylor']);
self::assertEquals('@j_taylor', $user->tryMention());
self::assertEquals('@j\\_taylor', $user->tryMention(true));
// First name.
$user = new User(['id' => 1, 'first_name' => 'John[']);
self::assertEquals('John[', $user->tryMention());
self::assertEquals('John\\[', $user->tryMention(true));
// First and Last name.
$user = new User(['id' => 1, 'first_name' => 'John', 'last_name' => '`Taylor`']);
self::assertEquals('John `Taylor`', $user->tryMention());
self::assertEquals('John \\`Taylor\\`', $user->tryMention(true));
// Plain escapeMarkdown functionality.
self::assertEquals('a\\`b\\[c\\*d\\_e', $user->escapeMarkdown('a`b[c*d_e'));
}