*/
public static function normalize($str)
{
+ if (mb_strlen($str) > self::MAX_LEN) {
+ // Display forms must also fit!
+ throw new NicknameTooLongException();
+ }
+
$str = trim($str);
$str = str_replace('_', '', $str);
$str = mb_strtolower($str);
- $len = mb_strlen($str);
- if ($len < 1) {
+ if (mb_strlen($str) < 1) {
throw new NicknameEmptyException();
- } else if ($len > self::MAX_LEN) {
- throw new NicknameTooLongException();
}
if (!self::isCanonical($str)) {
throw new NicknameInvalidException();
if ($expected === false) {
if ($expectedException) {
+ if ($exception) {
+ $stuff = get_class($exception) . ': ' . $exception->getMessage();
+ } else {
+ $stuff = var_export($exception, true);
+ }
$this->assertTrue($exception && $exception instanceof $expectedException,
"invalid input '$input' expected to fail with $expectedException, " .
- "got " . get_class($exception) . ': ' . $exception->getMessage());
+ "got $stuff");
} else {
$this->assertTrue($normalized == false,
"invalid input '$input' expected to fail");
array('', false, 'NicknameEmptyException'),
array('___', false, 'NicknameEmptyException'),
array('eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'), // 64 chars
- array('eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee_', 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'), // the _ will be trimmed off, remaining valid
+ array('eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee_', false, 'NicknameTooLongException'), // the _ is too long...
array('eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', false, 'NicknameTooLongException'), // 65 chars -- too long
);
}