Fix username validation and auto-generation, closes #927

This commit is contained in:
Dane Everitt 2018-02-11 16:39:50 -06:00
parent c3dc376c4c
commit bf537922a3
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
7 changed files with 159 additions and 41 deletions

View file

@ -0,0 +1,69 @@
<?php
namespace Tests\Unit\Rules;
use Tests\TestCase;
use Pterodactyl\Rules\Username;
class UsernameTest extends TestCase
{
/**
* Test valid usernames.
*
* @dataProvider validUsernameDataProvider
*/
public function testValidUsernames(string $username)
{
$this->assertTrue((new Username)->passes('test', $username), 'Assert username is valid.');
}
/**
* Test invalid usernames return false.
*
* @dataProvider invalidUsernameDataProvider
*/
public function testInvalidUsernames(string $username)
{
$this->assertFalse((new Username)->passes('test', $username), 'Assert username is not valid.');
}
/**
* Provide valid usernames.
* @return array
*/
public function validUsernameDataProvider(): array
{
return [
['username'],
['user_name'],
['user.name'],
['user-name'],
['123username123'],
['123-user.name'],
['123456'],
];
}
/**
* Provide invalid usernames.
*
* @return array
*/
public function invalidUsernameDataProvider(): array
{
return [
['_username'],
['username_'],
['_username_'],
['-username'],
['.username'],
['username-'],
['username.'],
['user*name'],
['user^name'],
['user#name'],
['user+name'],
['1234_'],
];
}
}