mirror of https://github.com/pixelfed/pixelfed.git
78 lines
2.3 KiB
PHP
78 lines
2.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Tests\Unit;
|
||
|
|
||
|
use PHPUnit\Framework\TestCase;
|
||
|
use App\Util\Lexer\Bearcap;
|
||
|
|
||
|
class BearcapTest extends TestCase
|
||
|
{
|
||
|
/** @test */
|
||
|
public function validTest()
|
||
|
{
|
||
|
$str = 'bear:?t=LpVypnEUdHhwwgXE9tTqEwrtPvmLjqYaPexqyXnVo1flSfJy5AYMCdRPiFRmqld2&u=https://pixelfed.test/stories/admin/337892163734081536';
|
||
|
$expected = [
|
||
|
"token" => "LpVypnEUdHhwwgXE9tTqEwrtPvmLjqYaPexqyXnVo1flSfJy5AYMCdRPiFRmqld2",
|
||
|
"url" => "https://pixelfed.test/stories/admin/337892163734081536",
|
||
|
];
|
||
|
$actual = Bearcap::decode($str);
|
||
|
$this->assertEquals($expected, $actual);
|
||
|
}
|
||
|
|
||
|
/** @test */
|
||
|
public function invalidTokenParameterName()
|
||
|
{
|
||
|
$str = 'bear:?token=LpVypnEUdHhwwgXE9tTqEwrtPvmLjqYaPexqyXnVo1flSfJy5AYMCdRPiFRmqld2&u=https://pixelfed.test/stories/admin/337892163734081536';
|
||
|
$actual = Bearcap::decode($str);
|
||
|
$this->assertFalse($actual);
|
||
|
}
|
||
|
|
||
|
/** @test */
|
||
|
public function invalidUrlParameterName()
|
||
|
{
|
||
|
$str = 'bear:?t=LpVypnEUdHhwwgXE9tTqEwrtPvmLjqYaPexqyXnVo1flSfJy5AYMCdRPiFRmqld2&url=https://pixelfed.test/stories/admin/337892163734081536';
|
||
|
$actual = Bearcap::decode($str);
|
||
|
$this->assertFalse($actual);
|
||
|
}
|
||
|
|
||
|
/** @test */
|
||
|
public function invalidScheme()
|
||
|
{
|
||
|
$str = 'bearcap:?t=LpVypnEUdHhwwgXE9tTqEwrtPvmLjqYaPexqyXnVo1flSfJy5AYMCdRPiFRmqld2&url=https://pixelfed.test/stories/admin/337892163734081536';
|
||
|
$actual = Bearcap::decode($str);
|
||
|
$this->assertFalse($actual);
|
||
|
}
|
||
|
|
||
|
/** @test */
|
||
|
public function missingToken()
|
||
|
{
|
||
|
$str = 'bear:?u=https://pixelfed.test/stories/admin/337892163734081536';
|
||
|
$actual = Bearcap::decode($str);
|
||
|
$this->assertFalse($actual);
|
||
|
}
|
||
|
|
||
|
/** @test */
|
||
|
public function missingUrl()
|
||
|
{
|
||
|
$str = 'bear:?t=LpVypnEUdHhwwgXE9tTqEwrtPvmLjqYaPexqyXnVo1flSfJy5AYMCdRPiFRmqld2';
|
||
|
$actual = Bearcap::decode($str);
|
||
|
$this->assertFalse($actual);
|
||
|
}
|
||
|
|
||
|
/** @test */
|
||
|
public function invalidHttpUrl()
|
||
|
{
|
||
|
$str = 'bear:?t=LpVypnEUdHhwwgXE9tTqEwrtPvmLjqYaPexqyXnVo1flSfJy5AYMCdRPiFRmqld2&u=http://pixelfed.test/stories/admin/337892163734081536';
|
||
|
$actual = Bearcap::decode($str);
|
||
|
$this->assertFalse($actual);
|
||
|
}
|
||
|
|
||
|
/** @test */
|
||
|
public function invalidUrlSchema()
|
||
|
{
|
||
|
$str = 'bear:?t=LpVypnEUdHhwwgXE9tTqEwrtPvmLjqYaPexqyXnVo1flSfJy5AYMCdRPiFRmqld2&u=phar://pixelfed.test/stories/admin/337892163734081536';
|
||
|
$actual = Bearcap::decode($str);
|
||
|
$this->assertFalse($actual);
|
||
|
}
|
||
|
}
|