extract($username);
$autolink = Autolink::create()->autolink($username);
$expectedAutolink = '@dansup';
$expectedEntity = [
"hashtags" => [],
"urls" => [],
"mentions" => [
"dansup",
],
"replyto" => "dansup",
"hashtags_with_indices" => [],
"urls_with_indices" => [],
"mentions_with_indices" => [
[
"screen_name" => "dansup",
"indices" => [
0,
7,
],
],
],
];
$this->assertEquals($expectedAutolink, $autolink);
$this->assertEquals($expectedEntity, $entities);
}
/** @test **/
public function usernameWithPeriod()
{
$username = '@dansup.two';
$autolink = Autolink::create()->autolink($username);
$entities = Extractor::create()->extract($username);
$expectedAutolink = '@dansup.two';
$expectedEntity = [
"hashtags" => [],
"urls" => [],
"mentions" => [
"dansup.two",
],
"replyto" => "dansup.two",
"hashtags_with_indices" => [],
"urls_with_indices" => [],
"mentions_with_indices" => [
[
"screen_name" => "dansup.two",
"indices" => [
0,
11,
],
],
],
];
$this->assertEquals($expectedAutolink, $autolink);
$this->assertEquals($expectedEntity, $entities);
}
/** @test **/
public function usernameWithDash()
{
$username = '@dansup-too';
$autolink = Autolink::create()->autolink($username);
$entities = Extractor::create()->extract($username);
$expectedAutolink = '@dansup-too';
$expectedEntity = [
"hashtags" => [],
"urls" => [],
"mentions" => [
"dansup-too",
],
"replyto" => "dansup-too",
"hashtags_with_indices" => [],
"urls_with_indices" => [],
"mentions_with_indices" => [
[
"screen_name" => "dansup-too",
"indices" => [
0,
11,
],
],
],
];
$this->assertEquals($expectedAutolink, $autolink);
$this->assertEquals($expectedEntity, $entities);
}
/** @test **/
public function usernameWithUnderscore()
{
$username = '@dansup_too';
$autolink = Autolink::create()->autolink($username);
$entities = Extractor::create()->extract($username);
$expectedAutolink = '@dansup_too';
$expectedEntity = [
"hashtags" => [],
"urls" => [],
"mentions" => [
"dansup_too",
],
"replyto" => "dansup_too",
"hashtags_with_indices" => [],
"urls_with_indices" => [],
"mentions_with_indices" => [
[
"screen_name" => "dansup_too",
"indices" => [
0,
11,
],
],
],
];
$this->assertEquals($expectedAutolink, $autolink);
$this->assertEquals($expectedEntity, $entities);
}
/** @test **/
public function multipleMentions()
{
$text = 'hello @dansup and @pixelfed.team from @username_underscore';
$autolink = Autolink::create()->autolink($text);
$entities = Extractor::create()->extract($text);
$expectedAutolink = 'hello @dansup and @pixelfed.team from @username_underscore';
$expectedEntity = [
"hashtags" => [],
"urls" => [],
"mentions" => [
"dansup",
"pixelfed.team",
"username_underscore",
],
"replyto" => null,
"hashtags_with_indices" => [],
"urls_with_indices" => [],
"mentions_with_indices" => [
[
"screen_name" => "dansup",
"indices" => [
6,
13,
],
],
[
"screen_name" => "pixelfed.team",
"indices" => [
18,
32,
],
],
[
"screen_name" => "username_underscore",
"indices" => [
38,
58,
],
],
],
];
$this->assertEquals($expectedAutolink, $autolink);
$this->assertEquals($expectedEntity, $entities);
}
}