aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshyPHP <s9e.dev@gmail.com>2016-03-24 19:49:23 +0100
committerJoshyPHP <s9e.dev@gmail.com>2016-03-24 19:49:23 +0100
commit0ff4a6b6a4151f25d94d7b4f651b069e21b036b2 (patch)
treeddbae37837ca3a6a56371fff76a3c89bf83fa9c4
parentd8bcf479bf288103eca8b24cc6f72cf083f04ae8 (diff)
downloadforums-0ff4a6b6a4151f25d94d7b4f651b069e21b036b2.tar
forums-0ff4a6b6a4151f25d94d7b4f651b069e21b036b2.tar.gz
forums-0ff4a6b6a4151f25d94d7b4f651b069e21b036b2.tar.bz2
forums-0ff4a6b6a4151f25d94d7b4f651b069e21b036b2.tar.xz
forums-0ff4a6b6a4151f25d94d7b4f651b069e21b036b2.zip
[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
-rw-r--r--phpBB/phpbb/textreparser/base.php3
-rw-r--r--tests/text_reparser/base_test.php70
-rw-r--r--tests/text_reparser/fixtures/base.xml19
3 files changed, 91 insertions, 1 deletions
diff --git a/phpBB/phpbb/textreparser/base.php b/phpBB/phpbb/textreparser/base.php
index 3e5ee248a1..afa5ccacad 100644
--- a/phpBB/phpbb/textreparser/base.php
+++ b/phpBB/phpbb/textreparser/base.php
@@ -230,7 +230,8 @@ abstract class base implements reparser_interface
$unparsed['enable_img_bbcode'],
$unparsed['enable_flash_bbcode'],
$unparsed['enable_quote_bbcode'],
- $unparsed['enable_url_bbcode']
+ $unparsed['enable_url_bbcode'],
+ 'reparse'
);
// Save the new text if it has changed and it's not a dry run
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 @@
+<?php
+/**
+*
+* This file is part of the phpBB Forum Software package.
+*
+* @copyright (c) phpBB Limited <https://www.phpbb.com>
+* @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' => '<t></t>'
+ )
+ ),
+ $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 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<dataset>
+ <table name="phpbb_posts">
+ <column>post_id</column>
+ <column>enable_bbcode</column>
+ <column>enable_smilies</column>
+ <column>enable_magic_url</column>
+ <column>post_text</column>
+ <column>bbcode_uid</column>
+ <row>
+ <value>1</value>
+ <value>1</value>
+ <value>1</value>
+ <value>1</value>
+ <value></value>
+ <value>abcd1234</value>
+ </row>
+ </table>
+</dataset>