Path: blob/1.0-develop/tests/Unit/Rules/UsernameTest.php
7461 views
<?php12namespace Pterodactyl\Tests\Unit\Rules;34use Pterodactyl\Rules\Username;5use Pterodactyl\Tests\TestCase;67class UsernameTest extends TestCase8{9/**10* Test that this rule can be cast to a string correctly.11*/12public function testRuleIsStringable()13{14$this->assertSame('p_username', (string) new Username());15}1617/**18* Test valid usernames.19*/20#[\PHPUnit\Framework\Attributes\DataProvider('validUsernameDataProvider')]21public function testValidUsernames(string $username)22{23$this->assertTrue((new Username())->passes('test', $username), 'Assert username is valid.');24}2526/**27* Test invalid usernames return false.28*/29#[\PHPUnit\Framework\Attributes\DataProvider('invalidUsernameDataProvider')]30public function testInvalidUsernames(string $username)31{32$this->assertFalse((new Username())->passes('test', $username), 'Assert username is not valid.');33}3435/**36* Provide valid usernames.37*/38public static function validUsernameDataProvider(): array39{40return [41['username'],42['user_name'],43['user.name'],44['user-name'],45['123username123'],46['123-user.name'],47['123456'],48];49}5051/**52* Provide invalid usernames.53*/54public static function invalidUsernameDataProvider(): array55{56return [57['_username'],58['username_'],59['_username_'],60['-username'],61['.username'],62['username-'],63['username.'],64['user*name'],65['user^name'],66['user#name'],67['user+name'],68['1234_'],69];70}71}727374