aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/notification/base.php9
-rw-r--r--tests/notification/manager_helper.php5
-rw-r--r--tests/notification/submit_post_base.php5
-rw-r--r--tests/notification/submit_post_type_quote_test.php38
-rw-r--r--tests/text_formatter/s9e/utils_test.php34
5 files changed, 72 insertions, 19 deletions
diff --git a/tests/notification/base.php b/tests/notification/base.php
index a1ebecd6f9..45b0b6f179 100644
--- a/tests/notification/base.php
+++ b/tests/notification/base.php
@@ -116,7 +116,14 @@ abstract class phpbb_tests_notification_base extends phpbb_database_test_case
{
global $phpbb_root_path, $phpEx;
- return new $type($this->user_loader, $this->db, $this->cache->get_driver(), $this->user, $this->auth, $this->config, $phpbb_root_path, $phpEx, 'phpbb_notification_types', 'phpbb_notifications', 'phpbb_user_notifications');
+ $instance = new $type($this->user_loader, $this->db, $this->cache->get_driver(), $this->user, $this->auth, $this->config, $phpbb_root_path, $phpEx, 'phpbb_notification_types', 'phpbb_notifications', 'phpbb_user_notifications');
+
+ if ($type === 'phpbb\\notification\\type\\quote')
+ {
+ $instance->set_utils(new \phpbb\textformatter\s9e\utils);
+ }
+
+ return $instance;
}
protected function assert_notifications($expected, $options = array())
diff --git a/tests/notification/manager_helper.php b/tests/notification/manager_helper.php
index 75b7275d3a..48bf5b177b 100644
--- a/tests/notification/manager_helper.php
+++ b/tests/notification/manager_helper.php
@@ -48,6 +48,11 @@ class phpbb_notification_manager_helper extends \phpbb\notification\manager
$item = new $item_type($this->user_loader, $this->db, $this->cache->get_driver(), $this->user, $this->auth, $this->config, $this->phpbb_root_path, $this->php_ext, $this->notification_types_table, $this->notifications_table, $this->user_notifications_table);
+ if ($item_type === 'phpbb\\notification\\type\\quote')
+ {
+ $item->set_utils(new \phpbb\textformatter\s9e\utils);
+ }
+
$item->set_notification_manager($this);
$item->set_initial_data($data);
diff --git a/tests/notification/submit_post_base.php b/tests/notification/submit_post_base.php
index d7a711e007..04fb6658c3 100644
--- a/tests/notification/submit_post_base.php
+++ b/tests/notification/submit_post_base.php
@@ -117,6 +117,11 @@ abstract class phpbb_notification_submit_post_base extends phpbb_database_test_c
$phpbb_root_path, $phpEx,
NOTIFICATION_TYPES_TABLE, NOTIFICATIONS_TABLE, USER_NOTIFICATIONS_TABLE);
+ if ($type === 'quote')
+ {
+ $class->set_utils(new \phpbb\textformatter\s9e\utils);
+ }
+
$phpbb_container->set('notification.type.' . $type, $class);
$notification_types_array['notification.type.' . $type] = $class;
diff --git a/tests/notification/submit_post_type_quote_test.php b/tests/notification/submit_post_type_quote_test.php
index 61e3840773..8ad6a62b09 100644
--- a/tests/notification/submit_post_type_quote_test.php
+++ b/tests/notification/submit_post_type_quote_test.php
@@ -51,6 +51,8 @@ class phpbb_notification_submit_post_type_quote_test extends phpbb_notification_
*/
public function submit_post_data()
{
+ $parser = $this->get_test_case_helpers()->set_s9e_services()->get('text_formatter.parser');
+
return array(
/**
* Normal post
@@ -65,15 +67,15 @@ class phpbb_notification_submit_post_type_quote_test extends phpbb_notification_
*/
array(
array(
- 'message' => implode(' ', array(
- '[quote="poster":uid]poster should not be notified[/quote:uid]',
- '[quote="test":uid]test should be notified[/quote:uid]',
- '[quote="unauthorized":uid]unauthorized to read, should not receive a notification[/quote:uid]',
- '[quote="notified":uid]already notified, should not receive a new notification[/quote:uid]',
- '[quote="disabled":uid]option disabled, should not receive a notification[/quote:uid]',
- '[quote="default":uid]option set to default, should receive a notification[/quote:uid]',
- '[quote="doesn\'t exist":uid]user does not exist, should not receive a notification[/quote:uid]',
- )),
+ 'message' => $parser->parse(implode(' ', array(
+ '[quote="poster"]poster should not be notified[/quote]',
+ '[quote="test"]test should be notified[/quote]',
+ '[quote="unauthorized"]unauthorized to read, should not receive a notification[/quote]',
+ '[quote="notified"]already notified, should not receive a new notification[/quote]',
+ '[quote="disabled"]option disabled, should not receive a notification[/quote]',
+ '[quote="default"]option set to default, should receive a notification[/quote]',
+ '[quote="doesn\'t exist"]user does not exist, should not receive a notification[/quote]',
+ ))),
'bbcode_uid' => 'uid',
),
array(
@@ -94,15 +96,15 @@ class phpbb_notification_submit_post_type_quote_test extends phpbb_notification_
*/
array(
array(
- 'message' => implode(' ', array(
- '[quote="poster":uid]poster should not be notified[/quote:uid]',
- '[quote="test":uid]test should be notified[/quote:uid]',
- '[quote="unauthorized":uid]unauthorized to read, should not receive a notification[/quote:uid]',
- '[quote="notified":uid]already notified, should not receive a new notification[/quote:uid]',
- '[quote="disabled":uid]option disabled, should not receive a notification[/quote:uid]',
- '[quote="default":uid]option set to default, should receive a notification[/quote:uid]',
- '[quote="doesn\'t exist":uid]user does not exist, should not receive a notification[/quote:uid]',
- )),
+ 'message' => $parser->parse(implode(' ', array(
+ '[quote="poster"]poster should not be notified[/quote]',
+ '[quote="test"]test should be notified[/quote]',
+ '[quote="unauthorized"]unauthorized to read, should not receive a notification[/quote]',
+ '[quote="notified"]already notified, should not receive a new notification[/quote]',
+ '[quote="disabled"]option disabled, should not receive a notification[/quote]',
+ '[quote="default"]option set to default, should receive a notification[/quote]',
+ '[quote="doesn\'t exist"]user does not exist, should not receive a notification[/quote]',
+ ))),
'bbcode_uid' => 'uid',
'force_approved_state' => false,
),
diff --git a/tests/text_formatter/s9e/utils_test.php b/tests/text_formatter/s9e/utils_test.php
index 69f8682cac..78e5869af1 100644
--- a/tests/text_formatter/s9e/utils_test.php
+++ b/tests/text_formatter/s9e/utils_test.php
@@ -75,6 +75,40 @@ class phpbb_textformatter_s9e_utils_test extends phpbb_test_case
}
/**
+ * @dataProvider get_quote_authors_tests
+ */
+ public function test_get_quote_authors($original, $expected)
+ {
+ $container = $this->get_test_case_helpers()->set_s9e_services();
+ $utils = $container->get('text_formatter.utils');
+ $parser = $container->get('text_formatter.parser');
+
+ $this->assertSame($expected, $utils->get_quote_authors($parser->parse($original)));
+ }
+
+ public function get_quote_authors_tests()
+ {
+ return array(
+ array(
+ 'No quotes here',
+ array()
+ ),
+ array(
+ '[quote="foo"]..[/quote] [quote]..[/quote]',
+ array('foo')
+ ),
+ array(
+ '[quote="foo"]..[/quote] [quote="bar"]..[/quote]',
+ array('foo', 'bar')
+ ),
+ array(
+ '[quote="foo"].[quote="baz"]..[/quote].[/quote] [quote="bar"]..[/quote]',
+ array('foo', 'bar')
+ ),
+ );
+ }
+
+ /**
* @dataProvider get_remove_bbcode_tests
*/
public function test_remove_bbcode($original, $name, $depth, $expected)