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
+
+
+