From ca671708cb3ed4fbf218373f5ac310cf955676a4 Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Sun, 12 Jul 2015 18:55:23 +0200 Subject: [PATCH 1/2] [ticket/14000] Added support for emoji PHPBB3-14000 --- phpBB/composer.lock | 9 +++++---- phpBB/phpbb/textformatter/s9e/factory.php | 5 +++++ .../s9e/default_formatting_test.php | 19 ++++++++++++++++++- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/phpBB/composer.lock b/phpBB/composer.lock index cff4bd6289..74e554f2f0 100644 --- a/phpBB/composer.lock +++ b/phpBB/composer.lock @@ -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", diff --git a/phpBB/phpbb/textformatter/s9e/factory.php b/phpBB/phpbb/textformatter/s9e/factory.php index 2f6498197f..2aab97b667 100644 --- a/phpBB/phpbb/textformatter/s9e/factory.php +++ b/phpBB/phpbb/textformatter/s9e/factory.php @@ -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 = '' . str_replace('class="emoji"', 'class="smilies"', $tag->template) . ''; + /** * Modify the s9e\TextFormatter configurator after the default settings are set * diff --git a/tests/text_formatter/s9e/default_formatting_test.php b/tests/text_formatter/s9e/default_formatting_test.php index c67976301f..390bc65264 100644 --- a/tests/text_formatter/s9e/default_formatting_test.php +++ b/tests/text_formatter/s9e/default_formatting_test.php @@ -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]', '
[quote="foo"] wrote:...
' ), + array( + "Emoji: \xF0\x9F\x98\x80", + 'Emoji: ' . ' + ), + array( + "Emoji: \xF0\x9F\x98\x80", + "Emoji: \xF0\x9F\x98\x80", + function ($container) + { + $container->get('text_formatter.renderer')->set_viewsmilies(false); + } + ), ); } } From 0d52d36b37e0434824e93af592bbe0ce3c994da6 Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Mon, 13 Jul 2015 10:31:07 +0200 Subject: [PATCH 2/2] [ticket/14000] Replaced test content with non-emoji characters PHPBB3-14000 --- tests/functional/posting_test.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/functional/posting_test.php b/tests/functional/posting_test.php index e9b62c0b6c..724c42b289 100644 --- a/tests/functional/posting_test.php +++ b/tests/functional/posting_test.php @@ -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()