2009-08-25 07:33:16 +09:00
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
|
|
|
|
|
print "This script must be run from the command line\n";
|
|
|
|
|
exit();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
|
2013-09-28 22:20:10 +09:00
|
|
|
|
define('GNUSOCIAL', true);
|
|
|
|
|
define('STATUSNET', true); // compatibility
|
2009-08-25 07:33:16 +09:00
|
|
|
|
|
|
|
|
|
require_once INSTALLDIR . '/lib/common.php';
|
|
|
|
|
|
2009-08-26 07:00:29 +09:00
|
|
|
|
class HashTagDetectionTests extends PHPUnit_Framework_TestCase
|
2009-08-25 07:33:16 +09:00
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @dataProvider provider
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
public function testProduction($content, $expected)
|
|
|
|
|
{
|
|
|
|
|
$rendered = common_render_text($content);
|
|
|
|
|
$this->assertEquals($expected, $rendered);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static public function provider()
|
|
|
|
|
{
|
|
|
|
|
return array(
|
|
|
|
|
array('hello',
|
|
|
|
|
'hello'),
|
2009-08-26 06:52:16 +09:00
|
|
|
|
array('#hello people',
|
|
|
|
|
'#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('hello'))) . '" rel="tag">hello</a></span> people'),
|
|
|
|
|
array('"#hello" people',
|
|
|
|
|
'"#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('hello'))) . '" rel="tag">hello</a></span>" people'),
|
|
|
|
|
array('say "#hello" people',
|
|
|
|
|
'say "#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('hello'))) . '" rel="tag">hello</a></span>" people'),
|
|
|
|
|
array('say (#hello) people',
|
|
|
|
|
'say (#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('hello'))) . '" rel="tag">hello</a></span>) people'),
|
|
|
|
|
array('say [#hello] people',
|
|
|
|
|
'say [#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('hello'))) . '" rel="tag">hello</a></span>] people'),
|
|
|
|
|
array('say {#hello} people',
|
|
|
|
|
'say {#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('hello'))) . '" rel="tag">hello</a></span>} people'),
|
|
|
|
|
array('say \'#hello\' people',
|
|
|
|
|
'say \'#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('hello'))) . '" rel="tag">hello</a></span>\' people'),
|
2011-02-26 03:25:13 +09:00
|
|
|
|
|
|
|
|
|
// Unicode legit letters
|
|
|
|
|
array('#éclair yummy',
|
|
|
|
|
'#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('éclair'))) . '" rel="tag">éclair</a></span> yummy'),
|
|
|
|
|
array('#维基百科 zh.wikipedia!',
|
|
|
|
|
'#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('维基百科'))) . '" rel="tag">维基百科</a></span> zh.wikipedia!'),
|
|
|
|
|
array('#Россия russia',
|
|
|
|
|
'#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('Россия'))) . '" rel="tag">Россия</a></span> russia'),
|
|
|
|
|
|
|
|
|
|
// Unicode punctuators -- the ideographic "," separates the tag, just as "," does
|
|
|
|
|
array('#维基百科,zh.wikipedia!',
|
|
|
|
|
'#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('维基百科'))) . '" rel="tag">维基百科</a></span>,zh.wikipedia!'),
|
|
|
|
|
array('#维基百科,zh.wikipedia!',
|
|
|
|
|
'#<span class="tag"><a href="' . common_local_url('tag', array('tag' => common_canonical_tag('维基百科'))) . '" rel="tag">维基百科</a></span>,zh.wikipedia!'),
|
|
|
|
|
|
2009-08-25 07:33:16 +09:00
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|