diff --git a/phpBB/config/default/container/services_text_reparser.yml b/phpBB/config/default/container/services_text_reparser.yml index c10a8c600a..f25728d9c8 100644 --- a/phpBB/config/default/container/services_text_reparser.yml +++ b/phpBB/config/default/container/services_text_reparser.yml @@ -1,6 +1,6 @@ services: - text_reparser.admin_contact_info: - class: phpbb\textreparser\plugins\admin_contact_info + text_reparser.contact_admin_info: + class: phpbb\textreparser\plugins\contact_admin_info arguments: - @config_text tags: diff --git a/phpBB/phpbb/textreparser/plugins/admin_contact_info.php b/phpBB/phpbb/textreparser/plugins/contact_admin_info.php similarity index 91% rename from phpBB/phpbb/textreparser/plugins/admin_contact_info.php rename to phpBB/phpbb/textreparser/plugins/contact_admin_info.php index e432ddea81..d21ef89445 100644 --- a/phpBB/phpbb/textreparser/plugins/admin_contact_info.php +++ b/phpBB/phpbb/textreparser/plugins/contact_admin_info.php @@ -13,7 +13,7 @@ namespace phpbb\textreparser\plugins; -class admin_contact_info extends \phpbb\textreparser\base +class contact_admin_info extends \phpbb\textreparser\base { /** * @var \phpbb\config\db_text @@ -64,6 +64,6 @@ class admin_contact_info extends \phpbb\textreparser\base */ protected function save_record(array $record) { - $this->config_text->set('admin_contact_info', $record['text']); + $this->config_text->set('contact_admin_info', $record['text']); } } diff --git a/tests/text_reparser/contact_admin_info_test.php b/tests/text_reparser/contact_admin_info_test.php new file mode 100644 index 0000000000..5cccdfa4d5 --- /dev/null +++ b/tests/text_reparser/contact_admin_info_test.php @@ -0,0 +1,81 @@ + +* @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_contact_admin_info_test extends phpbb_database_test_case +{ + protected $db; + + public function getDataSet() + { + return $this->createXMLDataSet(__DIR__ . '/fixtures/contact_admin_info.xml'); + } + + protected function get_reparser() + { + return new \phpbb\textreparser\plugins\contact_admin_info(new \phpbb\config\db_text($this->db, CONFIG_TEXT_TABLE)); + } + + 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 test_get_max_id() + { + $reparser = $this->get_reparser(); + $this->assertEquals(1, $reparser->get_max_id()); + } + + public function testReparse() + { + $reparser = $this->get_reparser(); + $reparser->reparse_range(1, 1); + + $sql = 'SELECT config_name, config_value + FROM ' . CONFIG_TEXT_TABLE . ' + ORDER BY config_name'; + $result = $this->db->sql_query($sql); + $rows = $this->db->sql_fetchrowset($result); + $this->db->sql_freeresult($result); + + $expected = array( + array( + 'config_name' => 'contact_admin_info', + 'config_value' => '[email]admin@example.org[/email]', + ), + array( + 'config_name' => 'contact_admin_info_bitfield', + 'config_value' => 'ACA=', + ), + array( + 'config_name' => 'contact_admin_info_flags', + 'config_value' => '7', + ), + array( + 'config_name' => 'contact_admin_info_uid', + 'config_value' => '1a2hbwf5', + ), + ); + $this->assertEquals($expected, $rows); + } +} diff --git a/tests/text_reparser/fixtures/contact_admin_info.xml b/tests/text_reparser/fixtures/contact_admin_info.xml new file mode 100644 index 0000000000..13cd82b1a4 --- /dev/null +++ b/tests/text_reparser/fixtures/contact_admin_info.xml @@ -0,0 +1,23 @@ + + + + config_name + config_value + + contact_admin_info + [email:1a2hbwf5]admin@example.org[/email:1a2hbwf5] + + + contact_admin_info_uid + 1a2hbwf5 + + + contact_admin_info_bitfield + ACA= + + + contact_admin_info_flags + 7 + +
+