Nickname class to encapsulate validation & common regexes for nickname formats.

This provides initial infrastructure for decoupling display names from internal canonical names, but continues to have us storing and using the canonical forms.

It should be/become possible to provide mixed-case and underscore-containing names in links, @-mention, !-group, etc, but we don't store those alternate forms generally.
This commit is contained in:
Brion Vibber
2010-11-29 14:46:10 -08:00
parent dc350b5463
commit fffc10a230
2 changed files with 180 additions and 4 deletions

View File

@@ -26,18 +26,18 @@ class NicknameTest extends PHPUnit_Framework_TestCase
$exception = null;
$normalized = false;
try {
$normalized = Nickname::normalize($normalized);
$normalized = Nickname::normalize($input);
} catch (NicknameException $e) {
$exception = $e;
}
if ($expected === false) {
if ($expectedException) {
$this->assert($exception && $exception instanceof $expectedException,
$this->assertTrue($exception && $exception instanceof $expectedException,
"invalid input '$input' expected to fail with $expectedException, " .
"got " . get_class($exception) . ': ' . $exception->getMessage());
} else {
$this->assert($normalized == false,
$this->assertTrue($normalized == false,
"invalid input '$input' expected to fail");
}
} else {
@@ -47,7 +47,7 @@ class NicknameTest extends PHPUnit_Framework_TestCase
} else {
$msg .= "'$normalized'";
}
$this->assertEquals($expected, $norm, $msg);
$this->assertEquals($expected, $normalized, $msg);
}
}