Parcourir la source

Add Status Lexer Test

Daniel Supernault il y a 6 ans
Parent
commit
127990e95f
1 fichiers modifiés avec 66 ajouts et 0 suppressions
  1. 66 0
      tests/Unit/Lexer/StatusLexerTest.php

+ 66 - 0
tests/Unit/Lexer/StatusLexerTest.php

@@ -0,0 +1,66 @@
+<?php
+
+namespace Tests\Unit\Lexer;
+
+use Tests\TestCase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use App\Util\Lexer\Autolink;
+use App\Util\Lexer\Extractor;
+
+class StatusLexerTest extends TestCase
+{
+    public $status;
+    public $entities;
+	public $autolink;
+
+    public function setUp()
+    {
+        parent::setUp();
+    	$this->status = "@pixelfed hi, really like the website! #píxelfed";
+    	$this->entities = Extractor::create()->extract($this->status);
+    	$this->autolink = Autolink::create()->autolink($this->status);
+    }
+
+    public function testLexerExtractor()
+    {
+        $expected = [
+            "hashtags" => [
+                 "píxelfed",
+             ],
+             "urls" => [],
+             "mentions" => [
+                 "pixelfed",
+             ],
+             "replyto" => "pixelfed",
+             "hashtags_with_indices" => [
+                 [
+                   "hashtag" => "píxelfed",
+                   "indices" => [
+                         39,
+                         48,
+                     ],
+                 ],
+             ],
+             "urls_with_indices" => [],
+             "mentions_with_indices" => [
+                 [
+                   "screen_name" => "pixelfed",
+                   "indices" => [
+                         0,
+                         9,
+                    ],
+                 ]
+             ]
+        ];
+
+        $this->assertEquals($this->entities, $expected);
+    }
+
+    public function testAutolink()
+    {
+        $expected = '@<a class="u-url mention" href="https://pixelfed.dev/pixelfed" rel="external nofollow noopener" target="_blank">pixelfed</a> hi, really like the website! <a href="https://pixelfed.dev/discover/tags/píxelfed?src=hash" title="#píxelfed" class="u-url hashtag" rel="external nofollow noopener">#píxelfed</a>';
+
+        $this->assertEquals($this->autolink, $expected);
+    }
+}