diff options
author | JoshyPHP <s9e.dev@gmail.com> | 2015-03-23 21:34:49 +0100 |
---|---|---|
committer | JoshyPHP <s9e.dev@gmail.com> | 2015-04-02 19:16:04 +0200 |
commit | 37fedc656fbdeb36b098375201042eed4c7e7229 (patch) | |
tree | 16ad1ad23c38c89801ac8a1c09bc305e8b0844c4 | |
parent | 5b2d3fddfda75bcc212c8b9c88ab0d9ccc28b1d5 (diff) | |
download | forums-37fedc656fbdeb36b098375201042eed4c7e7229.tar forums-37fedc656fbdeb36b098375201042eed4c7e7229.tar.gz forums-37fedc656fbdeb36b098375201042eed4c7e7229.tar.bz2 forums-37fedc656fbdeb36b098375201042eed4c7e7229.tar.xz forums-37fedc656fbdeb36b098375201042eed4c7e7229.zip |
[ticket/11768] Updated the text_formatter.s9e.utils service
Made it use s9e\TextFormatter\Utils. Refactored some tests to make
them more readable.
PHPBB3-11768
-rw-r--r-- | phpBB/phpbb/textformatter/s9e/utils.php | 17 | ||||
-rw-r--r-- | tests/text_formatter/s9e/utils_test.php | 37 |
2 files changed, 16 insertions, 38 deletions
diff --git a/phpBB/phpbb/textformatter/s9e/utils.php b/phpBB/phpbb/textformatter/s9e/utils.php index df4ae4b9ec..29dcfcdf58 100644 --- a/phpBB/phpbb/textformatter/s9e/utils.php +++ b/phpBB/phpbb/textformatter/s9e/utils.php @@ -26,7 +26,7 @@ class utils implements \phpbb\textformatter\utils_interface // Insert a space before <s> and <e> then remove formatting $text = preg_replace('#<[es]>#', ' $0', $text); - return \s9e\TextFormatter\Unparser::removeFormatting($text); + return \s9e\TextFormatter\Utils::removeFormatting($text); } /** @@ -34,18 +34,7 @@ class utils implements \phpbb\textformatter\utils_interface */ public function remove_bbcode($text, $bbcode_name, $depth = 0) { - $dom = new \DOMDocument; - $dom->loadXML($text); - - $xpath = new \DOMXPath($dom); - $nodes = $xpath->query(str_repeat('//' . strtoupper($bbcode_name), 1 + $depth)); - - foreach ($nodes as $node) - { - $node->parentNode->removeChild($node); - } - - return $dom->saveXML($dom->documentElement); + return \s9e\TextFormatter\Utils::removeTag($text, strtoupper($bbcode_name), $depth); } /** @@ -53,7 +42,7 @@ class utils implements \phpbb\textformatter\utils_interface */ public function remove_formatting($text) { - return \s9e\TextFormatter\Unparser::removeFormatting($text); + return \s9e\TextFormatter\Utils::removeFormatting($text); } /** diff --git a/tests/text_formatter/s9e/utils_test.php b/tests/text_formatter/s9e/utils_test.php index 3de9b707c5..6f0ef54182 100644 --- a/tests/text_formatter/s9e/utils_test.php +++ b/tests/text_formatter/s9e/utils_test.php @@ -109,52 +109,41 @@ class phpbb_textformatter_s9e_utils_test extends phpbb_test_case public function test_remove_bbcode($original, $name, $depth, $expected) { $container = $this->get_test_case_helpers()->set_s9e_services(); + $parser = $container->get('text_formatter.parser'); $utils = $container->get('text_formatter.utils'); - $this->assertSame($expected, $utils->remove_bbcode($original, $name, $depth)); + $parsed = $parser->parse($original); + $actual = $utils->unparse($utils->remove_bbcode($parsed, $name, $depth)); + + $this->assertSame($expected, $actual); } public function get_remove_bbcode_tests() { return array( array( - '<t>Plain text</t>', + 'Plain text', 'b', 1, - '<t>Plain text</t>' + 'Plain text' ), array( - '<r><QUOTE author="u0"><s>[quote="u0"]</s><QUOTE author="u1"><s>[quote="u1"]</s><QUOTE author="u2"><s>[quote="u2"]</s>q2<e>[/quote]</e></QUOTE> -q1<e>[/quote]</e></QUOTE> -q0<e>[/quote]</e></QUOTE> -<B><s>[b]</s>bold<e>[/b]</e></B></r>', + '[quote="u0"][quote="u1"][quote="u2"]q2[/quote]q1[/quote]q0[/quote][b]bold[/b]', 'quote', 0, - '<r> -<B><s>[b]</s>bold<e>[/b]</e></B></r>' + '[b]bold[/b]', ), array( - '<r><QUOTE author="u0"><s>[quote="u0"]</s><QUOTE author="u1"><s>[quote="u1"]</s><QUOTE author="u2"><s>[quote="u2"]</s>q2<e>[/quote]</e></QUOTE> -q1<e>[/quote]</e></QUOTE> -q0<e>[/quote]</e></QUOTE> -<B><s>[b]</s>bold<e>[/b]</e></B></r>', + '[quote="u0"][quote="u1"][quote="u2"]q2[/quote]q1[/quote]q0[/quote][b]bold[/b]', 'quote', 1, - '<r><QUOTE author="u0"><s>[quote="u0"]</s> -q0<e>[/quote]</e></QUOTE> -<B><s>[b]</s>bold<e>[/b]</e></B></r>' + '[quote="u0"]q0[/quote][b]bold[/b]', ), array( - '<r><QUOTE author="u0"><s>[quote="u0"]</s><QUOTE author="u1"><s>[quote="u1"]</s><QUOTE author="u2"><s>[quote="u2"]</s>q2<e>[/quote]</e></QUOTE> -q1<e>[/quote]</e></QUOTE> -q0<e>[/quote]</e></QUOTE> -<B><s>[b]</s>bold<e>[/b]</e></B></r>', + '[quote="u0"][quote="u1"][quote="u2"]q2[/quote]q1[/quote]q0[/quote][b]bold[/b]', 'quote', 2, - '<r><QUOTE author="u0"><s>[quote="u0"]</s><QUOTE author="u1"><s>[quote="u1"]</s> -q1<e>[/quote]</e></QUOTE> -q0<e>[/quote]</e></QUOTE> -<B><s>[b]</s>bold<e>[/b]</e></B></r>' + '[quote="u0"][quote="u1"]q1[/quote]q0[/quote][b]bold[/b]', ), ); } |