3 if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
4 print "This script must be run from the command line\n";
8 define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
9 define('STATUSNET', true);
10 define('LACONICA', true);
12 require_once INSTALLDIR . '/lib/common.php';
15 * Test cases for nickname validity and normalization.
17 class NicknameTest extends PHPUnit_Framework_TestCase
20 * @dataProvider provider
23 public function testBasic($input, $expected)
26 // First problem: this is all manual, wtf!
27 if (preg_match('/^([' . NICKNAME_FMT . ']{1,64})$/', $input, $matches)) {
28 $norm = common_canonical_nickname($matches[1]);
29 $this->assertEquals($expected, $norm, "normalized input nickname: $input -> $norm");
31 $this->assertEquals($expected, false, "invalid input nickname: $input");
35 static public function provider()
38 array('evan', 'evan'),
39 array('Evan', 'evan'),
40 array('EVAN', 'evan'),
41 array('ev_an', 'evan'),
42 array('ev.an', 'evan'),
43 array('ev/an', false),
44 array('ev an', false),
45 array('ev-an', false),
46 array('évan', false), // so far...
47 array('Évan', false), // so far...
48 array('evan1', 'evan1'),
49 array('evan_1', 'evan1'),