diff options
author | JoshyPHP <s9e.dev@gmail.com> | 2015-03-25 01:39:19 +0100 |
---|---|---|
committer | JoshyPHP <s9e.dev@gmail.com> | 2015-04-02 19:16:04 +0200 |
commit | a7a53d5a30d4736f8114721c0d7019d64d24cda2 (patch) | |
tree | cfdde13f487f2c95e6aea89a39ac465691ac4242 /tests | |
parent | 2a462bb7e43b848d0277bd27e14ca4d645230eeb (diff) | |
download | forums-a7a53d5a30d4736f8114721c0d7019d64d24cda2.tar forums-a7a53d5a30d4736f8114721c0d7019d64d24cda2.tar.gz forums-a7a53d5a30d4736f8114721c0d7019d64d24cda2.tar.bz2 forums-a7a53d5a30d4736f8114721c0d7019d64d24cda2.tar.xz forums-a7a53d5a30d4736f8114721c0d7019d64d24cda2.zip |
[ticket/11768] Added core.text_formatter_s9e_parser_setup event
PHPBB3-11768
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_framework/phpbb_test_case_helpers.php | 5 | ||||
-rw-r--r-- | tests/text_formatter/s9e/parser_test.php | 47 |
2 files changed, 47 insertions, 5 deletions
diff --git a/tests/test_framework/phpbb_test_case_helpers.php b/tests/test_framework/phpbb_test_case_helpers.php index 5c6da94014..d43138d780 100644 --- a/tests/test_framework/phpbb_test_case_helpers.php +++ b/tests/test_framework/phpbb_test_case_helpers.php @@ -425,6 +425,7 @@ class phpbb_test_case_helpers $prefix = '_s9e_' . md5(serialize(func_get_args())); $cache_key_parser = $prefix . '_parser'; $cache_key_renderer = $prefix . '_renderer'; + $container->set('cache.driver', $cache); // Create a path_helper if (!$container->has('path_helper')) @@ -473,6 +474,7 @@ class phpbb_test_case_helpers $user->optionset('viewflash', true); $user->optionset('viewimg', true); $user->optionset('viewsmilies', true); + $container->set('user', $user); } $user->add_lang('common'); @@ -486,7 +488,8 @@ class phpbb_test_case_helpers $cache, $cache_key_parser, $user, - $factory + $factory, + $dispatcher ); $container->set('text_formatter.parser', $parser); diff --git a/tests/text_formatter/s9e/parser_test.php b/tests/text_formatter/s9e/parser_test.php index 71433e209f..03b29bef12 100644 --- a/tests/text_formatter/s9e/parser_test.php +++ b/tests/text_formatter/s9e/parser_test.php @@ -36,7 +36,8 @@ class phpbb_textformatter_s9e_parser_test extends phpbb_test_case $cache, '_foo_parser', $this->getMockBuilder('phpbb\\user')->disableOriginalConstructor()->getMock(), - $factory + $factory, + new phpbb_mock_event_dispatcher ); } @@ -63,7 +64,8 @@ class phpbb_textformatter_s9e_parser_test extends phpbb_test_case $cache, '_foo_parser', $this->getMockBuilder('phpbb\\user')->disableOriginalConstructor()->getMock(), - $factory + $factory, + new phpbb_mock_event_dispatcher ); $this->assertSame('<t>test</t>', $parser->parse('test')); @@ -91,7 +93,8 @@ class phpbb_textformatter_s9e_parser_test extends phpbb_test_case new phpbb_mock_cache, '_foo_parser', $this->getMockBuilder('phpbb\\user')->disableOriginalConstructor()->getMock(), - $factory + $factory, + new phpbb_mock_event_dispatcher ); $this->assertSame('<t>test</t>', $parser->parse('test')); @@ -124,7 +127,8 @@ class phpbb_textformatter_s9e_parser_test extends phpbb_test_case $cache, '_foo_parser', $this->getMockBuilder('phpbb\\user')->disableOriginalConstructor()->getMock(), - $factory + $factory, + new phpbb_mock_event_dispatcher ); call_user_func_array(array($parser, $adapter_method), (array) $adapter_arg); @@ -167,4 +171,39 @@ class phpbb_textformatter_s9e_parser_test extends phpbb_test_case ) ); } + + /** + * @testdox The constructor triggers a core.text_formatter_s9e_parser_setup event + */ + public function test_setup_event() + { + $container = $this->get_test_case_helpers()->set_s9e_services(); + $dispatcher = $this->getMock('phpbb\\event\\dispatcher_interface'); + $dispatcher + ->expects($this->once()) + ->method('trigger_event') + ->with( + 'core.text_formatter_s9e_parser_setup', + $this->callback(array($this, 'setup_event_callback')) + ) + ->will($this->returnArgument(1)); + + new \phpbb\textformatter\s9e\parser( + $container->get('cache.driver'), + '_foo_parser', + $container->get('user'), + $container->get('text_formatter.s9e.factory'), + $dispatcher + ); + } + + public function setup_event_callback($vars) + { + return isset($vars['parser']) + && $vars['parser'] instanceof \s9e\TextFormatter\Parser + && isset($vars['self']) + && $vars['self'] instanceof \phpbb\textformatter\s9e\parser + && isset($vars['user']) + && $vars['user'] instanceof \phpbb\user; + } } |