Global Boomarks
This commit is contained in:
51
tests/Support/BookmarkUrlNormalizerTest.php
Normal file
51
tests/Support/BookmarkUrlNormalizerTest.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace MintyPHP\Tests\Support;
|
||||
|
||||
use MintyPHP\Support\BookmarkUrlNormalizer;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class BookmarkUrlNormalizerTest extends TestCase
|
||||
{
|
||||
public function testCanonicalizeRelativeNormalizesPathAndQueryOrder(): void
|
||||
{
|
||||
$actual = BookmarkUrlNormalizer::canonicalizeRelative('/admin//users/?b=2&a=1');
|
||||
|
||||
$this->assertSame('admin/users?a=1&b=2', $actual);
|
||||
}
|
||||
|
||||
public function testCanonicalizeRelativeSortsMultiValueQueryKeys(): void
|
||||
{
|
||||
$actual = BookmarkUrlNormalizer::canonicalizeRelative('admin/users?roles=2&roles=1&search=max');
|
||||
|
||||
$this->assertSame('admin/users?roles=1&roles=2&search=max', $actual);
|
||||
}
|
||||
|
||||
public function testCanonicalizeRelativeRejectsAbsoluteUrl(): void
|
||||
{
|
||||
$actual = BookmarkUrlNormalizer::canonicalizeRelative('https://example.com/admin/users');
|
||||
|
||||
$this->assertSame('', $actual);
|
||||
}
|
||||
|
||||
public function testCanonicalizeRelativeRemovesFragment(): void
|
||||
{
|
||||
$actual = BookmarkUrlNormalizer::canonicalizeRelative('admin/users?a=1#section-2');
|
||||
|
||||
$this->assertSame('admin/users?a=1', $actual);
|
||||
}
|
||||
|
||||
public function testCanonicalizeRequestUriStripsLocaleBaseAndSortsQuery(): void
|
||||
{
|
||||
$actual = BookmarkUrlNormalizer::canonicalizeRequestUri('/de/admin/users?b=2&a=1', '/de/');
|
||||
|
||||
$this->assertSame('admin/users?a=1&b=2', $actual);
|
||||
}
|
||||
|
||||
public function testCanonicalizeRequestUriHandlesAppBaseAndLocale(): void
|
||||
{
|
||||
$actual = BookmarkUrlNormalizer::canonicalizeRequestUri('/core/de/address-book?tenants=b&tenants=a', '/core/de/');
|
||||
|
||||
$this->assertSame('address-book?tenants=a&tenants=b', $actual);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user