|
5 | 5 | namespace OsiemSiedem\Tests\Autolink; |
6 | 6 |
|
7 | 7 | use OsiemSiedem\Autolink\Link; |
8 | | -use PHPUnit\Framework\TestCase; |
9 | 8 | use OsiemSiedem\Autolink\Autolink; |
| 9 | +use OsiemSiedem\Tests\Autolink\TestCase; |
10 | 10 | use OsiemSiedem\Autolink\Parsers\UrlParser; |
11 | 11 | use OsiemSiedem\Autolink\Parsers\WwwParser; |
12 | 12 | use OsiemSiedem\Autolink\Parsers\EmailParser; |
| 13 | +use OsiemSiedem\Autolink\Filters\LimitLengthFilter; |
13 | 14 |
|
14 | 15 | final class AutolinkTest extends TestCase |
15 | 16 | { |
@@ -329,4 +330,34 @@ public function testUrlsWithQuotes(): void |
329 | 330 | $this->assertEquals("'<a href=\"http://example.com\">http://example.com</a>'", $this->autolink->convert("'http://example.com'")); |
330 | 331 | $this->assertEquals('"<a href="http://example.com">http://example.com</a>"', $this->autolink->convert('"http://example.com"')); |
331 | 332 | } |
| 333 | + |
| 334 | + public function testAddFilter(): void |
| 335 | + { |
| 336 | + $url = 'http://example.com/some/very/long/link?foo=bar'; |
| 337 | + |
| 338 | + $autolink = new Autolink; |
| 339 | + $autolink->addParser(new UrlParser); |
| 340 | + |
| 341 | + $autolink->convert($url, function ($link) { |
| 342 | + $this->assertEquals('http://example.com/some/very/long/link?foo=bar', $link->getTitle()); |
| 343 | + |
| 344 | + return $link; |
| 345 | + }); |
| 346 | + |
| 347 | + $autolink->addFilter(new LimitLengthFilter); |
| 348 | + |
| 349 | + $autolink->convert($url, function ($link) { |
| 350 | + $this->assertEquals('http://example.com/some/very/l...', $link->getTitle()); |
| 351 | + |
| 352 | + return $link; |
| 353 | + }); |
| 354 | + } |
| 355 | + |
| 356 | + public function testIgnore(): void |
| 357 | + { |
| 358 | + $this->autolink->ignore(['a']); |
| 359 | + |
| 360 | + $this->assertEquals('<a>http://example.com', $this->autolink->convert('<a>http://example.com')); |
| 361 | + $this->assertEquals('<b><a href="http://example.com">http://example.com</a></b> <a>http://example.com</a>', $this->autolink->convert('<b>http://example.com</b> <a>http://example.com</a>')); |
| 362 | + } |
332 | 363 | } |
0 commit comments