From 0ff4a6b6a4151f25d94d7b4f651b069e21b036b2 Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Thu, 24 Mar 2016 19:49:23 +0100 Subject: [ticket/14381] Set the mode in message parser to "reparse" The default mode is "post". By setting it to something else, all limits pertaining to posts (min/max length, etc...) should be disabled. PHPBB3-14381 --- tests/text_reparser/base_test.php | 70 +++++++++++++++++++++++++++++++++++ tests/text_reparser/fixtures/base.xml | 19 ++++++++++ 2 files changed, 89 insertions(+) create mode 100644 tests/text_reparser/base_test.php create mode 100644 tests/text_reparser/fixtures/base.xml (limited to 'tests/text_reparser') diff --git a/tests/text_reparser/base_test.php b/tests/text_reparser/base_test.php new file mode 100644 index 0000000000..2223ead9a6 --- /dev/null +++ b/tests/text_reparser/base_test.php @@ -0,0 +1,70 @@ + +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ +require_once __DIR__ . '/../../phpBB/includes/functions.php'; +require_once __DIR__ . '/../../phpBB/includes/functions_content.php'; +require_once __DIR__ . '/../test_framework/phpbb_database_test_case.php'; + +class phpbb_textreparser_base_test extends phpbb_database_test_case +{ + protected $db; + + public function setUp() + { + global $config; + if (!isset($config)) + { + $config = new \phpbb\config\config(array()); + } + $this->get_test_case_helpers()->set_s9e_services(); + $this->db = $this->new_dbal(); + parent::setUp(); + } + + public function getDataSet() + { + return $this->createXMLDataSet(__DIR__ . '/fixtures/base.xml'); + } + + protected function get_reparser() + { + return new \phpbb\textreparser\plugins\post_text($this->db, POSTS_TABLE); + } + + protected function get_rows(array $ids) + { + $sql = 'SELECT post_id AS id, post_text AS text + FROM ' . POSTS_TABLE . ' + WHERE ' . $this->db->sql_in_set('post_id', $ids) . ' + ORDER BY id'; + $result = $this->db->sql_query($sql); + $rows = $this->db->sql_fetchrowset($result); + $this->db->sql_freeresult($result); + + return $rows; + } + + public function test_reparse_empty() + { + $this->get_reparser()->reparse_range(1, 1); + + $this->assertEquals( + array( + array( + 'id' => 1, + 'text' => '' + ) + ), + $this->get_rows(array(1)) + ); + } +} diff --git a/tests/text_reparser/fixtures/base.xml b/tests/text_reparser/fixtures/base.xml new file mode 100644 index 0000000000..a4921a8823 --- /dev/null +++ b/tests/text_reparser/fixtures/base.xml @@ -0,0 +1,19 @@ + + + + post_id + enable_bbcode + enable_smilies + enable_magic_url + post_text + bbcode_uid + + 1 + 1 + 1 + 1 + + abcd1234 + +
+
-- cgit v1.2.1