1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-24 12:03:21 +01:00

Merge pull request #3753 from s9e/ticket/14000

[ticket/14000] Added support for emoji
This commit is contained in:
Máté Bartus 2015-07-13 15:35:21 +02:00
commit d54f9d176e
4 changed files with 30 additions and 7 deletions

9
phpBB/composer.lock generated
View File

@ -220,12 +220,12 @@
"source": {
"type": "git",
"url": "https://github.com/s9e/TextFormatter.git",
"reference": "326a5a0bbaee59a3d5542fc8e38fe41971931cce"
"reference": "beee0e5693f7ca8ed16a94294acf53b6e6207e7c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/s9e/TextFormatter/zipball/326a5a0bbaee59a3d5542fc8e38fe41971931cce",
"reference": "326a5a0bbaee59a3d5542fc8e38fe41971931cce",
"url": "https://api.github.com/repos/s9e/TextFormatter/zipball/beee0e5693f7ca8ed16a94294acf53b6e6207e7c",
"reference": "beee0e5693f7ca8ed16a94294acf53b6e6207e7c",
"shasum": ""
},
"require": {
@ -253,6 +253,7 @@
"MIT"
],
"description": "Multi-purpose text formatting and markup library. Plugins offer support for BBCodes, Markdown, emoticons, HTML, embedding media (YouTube, etc...), enhanced typography and more.",
"homepage": "https://github.com/s9e/TextFormatter/",
"keywords": [
"bbcode",
"bbcodes",
@ -270,7 +271,7 @@
"parser",
"shortcodes"
],
"time": "2015-07-05 23:13:46"
"time": "2015-07-12 16:53:32"
},
{
"name": "symfony/config",

View File

@ -324,6 +324,11 @@ class factory implements \phpbb\textformatter\cache_interface
$configurator->registeredVars['max_img_height'] = 0;
$configurator->registeredVars['max_img_width'] = 0;
// Load the Emoji plugin and modify its tag's template to obey viewsmilies
$configurator->Emoji->setImageSize(18);
$tag = $configurator->Emoji->getTag();
$tag->template = '<xsl:choose><xsl:when test="$S_VIEWSMILIES">' . str_replace('class="emoji"', 'class="smilies"', $tag->template) . '</xsl:when><xsl:otherwise><xsl:value-of select="."/></xsl:otherwise></xsl:choose>';
/**
* Modify the s9e\TextFormatter configurator after the default settings are set
*

View File

@ -57,9 +57,9 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case
$this->login();
$post = $this->create_topic(2, 'Test Topic 1', 'This is a test topic posted by the testing framework.');
$this->create_post(2, $post['topic_id'], 'Re: Test Topic 1', "This is a test with these weird characters: \xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6");
$this->create_post(2, $post['topic_id'], 'Re: Test Topic 1', "This is a test with these weird characters: \xF0\x9F\x84\x90 \xF0\x9F\x84\x91");
$crawler = self::request('GET', "viewtopic.php?t={$post['topic_id']}&sid={$this->sid}");
$this->assertContains("\xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6", $crawler->text());
$this->assertContains("\xF0\x9F\x84\x90 \xF0\x9F\x84\x91", $crawler->text());
}
public function test_html_entities()

View File

@ -29,7 +29,7 @@ class phpbb_textformatter_s9e_default_formatting_test extends phpbb_test_case
/**
* @dataProvider get_default_formatting_tests
*/
public function test_default_formatting($original, $expected)
public function test_default_formatting($original, $expected, $setup = null)
{
$fixture = __DIR__ . '/fixtures/default_formatting.xml';
$container = $this->get_test_case_helpers()->set_s9e_services(null, $fixture);
@ -37,6 +37,11 @@ class phpbb_textformatter_s9e_default_formatting_test extends phpbb_test_case
$parser = $container->get('text_formatter.parser');
$renderer = $container->get('text_formatter.renderer');
if (isset($setup))
{
call_user_func($setup, $container);
}
$parsed_text = $parser->parse($original);
$this->assertSame($expected, $renderer->render($parsed_text));
@ -263,6 +268,18 @@ class phpbb_textformatter_s9e_default_formatting_test extends phpbb_test_case
'[quote=\'[quote="foo"]\']...[/quote]',
'<blockquote><div><cite>[quote="foo"] wrote:</cite>...</div></blockquote>'
),
array(
"Emoji: \xF0\x9F\x98\x80",
'Emoji: <img alt="' . "\xF0\x9F\x98\x80" . '" class="smilies" draggable="false" width="18" height="18" src="//twemoji.maxcdn.com/36x36/1f600.png">'
),
array(
"Emoji: \xF0\x9F\x98\x80",
"Emoji: \xF0\x9F\x98\x80",
function ($container)
{
$container->get('text_formatter.renderer')->set_viewsmilies(false);
}
),
);
}
}