aboutsummaryrefslogtreecommitdiffstats
path: root/tests/regex/censor_test.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regex/censor_test.php')
-rw-r--r--tests/regex/censor_test.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/regex/censor_test.php b/tests/regex/censor_test.php
new file mode 100644
index 0000000000..5929092e07
--- /dev/null
+++ b/tests/regex/censor_test.php
@@ -0,0 +1,50 @@
+<?php
+/**
+*
+* @package testing
+* @copyright (c) 2010 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
+
+class phpbb_regex_censor_test extends phpbb_test_case
+{
+ public function censor_test_data()
+ {
+ return array(
+ array('bad*word', 'bad word'),
+ array('bad***word', 'bad word'),
+ array('bad**word', 'bad word'),
+ array('*bad*word*', 'bad word'),
+ array('b*d', 'bad'),
+ array('*bad*', 'bad'),
+ array('*b*d*', 'bad'),
+ array('*b*d*', 'b d'),
+ array('b*d*word', 'bad word'),
+ array('**b**d**word**', 'bad word'),
+ array('**b**d**word**', 'the bad word catched'),
+ );
+ }
+
+ /**
+ * @dataProvider censor_test_data
+ */
+ public function test_censor_unicode($pattern, $subject)
+ {
+ $regex = get_censor_preg_expression($pattern, true);
+
+ $this->assertRegExp($regex, $subject);
+ }
+
+ /**
+ * @dataProvider censor_test_data
+ */
+ public function test_censor_no_unicode($pattern, $subject)
+ {
+ $regex = get_censor_preg_expression($pattern, false);
+
+ $this->assertRegExp($regex, $subject);
+ }
+} \ No newline at end of file