aboutsummaryrefslogtreecommitdiffstats
path: root/tests/regex
diff options
context:
space:
mode:
authorrxu <rxu@mail.ru>2011-01-05 21:19:50 +0700
committerAndreas Fischer <bantu@phpbb.com>2011-01-07 15:32:42 +0100
commit95cf47c4ef41b1ad7c5dc27eb9a078769851acf8 (patch)
tree3bab2abf053b81af81aab73d97c39d7f622f5130 /tests/regex
parent951b7b22e002571f1c304fcd63049aae77551a7b (diff)
downloadforums-95cf47c4ef41b1ad7c5dc27eb9a078769851acf8.tar
forums-95cf47c4ef41b1ad7c5dc27eb9a078769851acf8.tar.gz
forums-95cf47c4ef41b1ad7c5dc27eb9a078769851acf8.tar.bz2
forums-95cf47c4ef41b1ad7c5dc27eb9a078769851acf8.tar.xz
forums-95cf47c4ef41b1ad7c5dc27eb9a078769851acf8.zip
[ticket/9933] Create unit test for word censor regular expression.
PHPBB3-9933
Diffstat (limited to 'tests/regex')
-rw-r--r--tests/regex/censor.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/regex/censor.php b/tests/regex/censor.php
new file mode 100644
index 0000000000..ae2d86e07e
--- /dev/null
+++ b/tests/regex/censor.php
@@ -0,0 +1,40 @@
+<?php
+/**
+*
+* @package testing
+* @copyright (c) 2010 phpBB Group
+* @license http://opensource.org/licenses/gpl-license.php GNU Public License
+*
+*/
+
+require_once __DIR__ . '/../../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($pattern, $subject)
+ {
+ $regex = get_censor_preg_expression($pattern);
+
+ $this->assertRegExp($regex, $subject);
+ }
+} \ No newline at end of file