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); } }