diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/template/template_includecss_test.php | 8 | ||||
-rw-r--r-- | tests/template/template_includejs_test.php | 32 | ||||
-rw-r--r-- | tests/test_framework/phpbb_functional_test_case.php | 7 | ||||
-rw-r--r-- | tests/test_framework/phpbb_test_case_helpers.php | 7 | ||||
-rw-r--r-- | tests/text_formatter/s9e/factory_test.php | 18 | ||||
-rw-r--r-- | tests/text_formatter/s9e/fixtures/malformed_bbcode.xml | 28 | ||||
-rw-r--r-- | tests/text_reparser/plugins/fixtures/polls.xml | 11 |
7 files changed, 88 insertions, 23 deletions
diff --git a/tests/template/template_includecss_test.php b/tests/template/template_includecss_test.php index bc871aa612..4eb30eda1e 100644 --- a/tests/template/template_includecss_test.php +++ b/tests/template/template_includecss_test.php @@ -95,19 +95,19 @@ class phpbb_template_template_includecss_test extends phpbb_template_template_te */ array( array('TEST' => 1), - '<link href="tests/template/templates/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />', + '<link href="tests/template/templates/child_only.css?assets_version=1" rel="stylesheet" media="screen" />', ), array( array('TEST' => 2), - '<link href="tests/template/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />', + '<link href="tests/template/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" media="screen" />', ), array( array('TEST' => 3), - '<link href="tests/template/ext/include/css/styles/all/theme/test.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />', + '<link href="tests/template/ext/include/css/styles/all/theme/test.css?assets_version=1" rel="stylesheet" media="screen" />', ), array( array('TEST' => 4), - '<link href="tests/template/ext/include/css/styles/all/theme/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />', + '<link href="tests/template/ext/include/css/styles/all/theme/child_only.css?assets_version=1" rel="stylesheet" media="screen" />', ), ); } diff --git a/tests/template/template_includejs_test.php b/tests/template/template_includejs_test.php index 232f551b4a..19c016ae5e 100644 --- a/tests/template/template_includejs_test.php +++ b/tests/template/template_includejs_test.php @@ -28,67 +28,67 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes */ array( array('TEST' => 1), - '<script type="text/javascript" src="tests/template/templates/parent_and_child.js?assets_version=1"></script>', + '<script src="tests/template/templates/parent_and_child.js?assets_version=1"></script>', ), array( array('TEST' => 2), - '<script type="text/javascript" src="tests/template/templates/parent_and_child.js?assets_version=0"></script>', + '<script src="tests/template/templates/parent_and_child.js?assets_version=0"></script>', ), array( array('TEST' => 3), - '<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>', + '<script src="tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>', ), array( array('TEST' => 4), - '<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>', + '<script src="tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>', ), array( array('TEST' => 6), - '<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?assets_version=1"></script>', + '<script src="tests/template/parent_templates/parent_only.js?assets_version=1"></script>', ), array( array('TEST' => 7), - '<script type="text/javascript" src="tests/template/templates/child_only.js?assets_version=1"></script>', + '<script src="tests/template/templates/child_only.js?assets_version=1"></script>', ), array( array('TEST' => 8), - '<script type="text/javascript" src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>', + '<script src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>', ), array( array('TEST' => 9), - '<script type="text/javascript" src="tests/template/templates/subdir/subsubdir/parent_only.js?assets_version=1"></script>', + '<script src="tests/template/templates/subdir/subsubdir/parent_only.js?assets_version=1"></script>', ), array( array('TEST' => 10), - '<script type="text/javascript" src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>', + '<script src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>', ), array( array('TEST' => 11), - '<script type="text/javascript" src="tests/template/templates/child_only.js?test1=1&test2=2&assets_version=1#test3"></script>', + '<script src="tests/template/templates/child_only.js?test1=1&test2=2&assets_version=1#test3"></script>', ), array( array('TEST' => 12), - '<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?test1=1&test2=2&assets_version=1#test3"></script>', + '<script src="tests/template/parent_templates/parent_only.js?test1=1&test2=2&assets_version=1#test3"></script>', ), array( array('TEST' => 14), - '<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?test1="&assets_version=1#test3"></script>', + '<script src="tests/template/parent_templates/parent_only.js?test1="&assets_version=1#test3"></script>', ), array( array('TEST' => 15), - '<script type="text/javascript" src="http://phpbb.com/b.js?c=d#f"></script>', + '<script src="http://phpbb.com/b.js?c=d#f"></script>', ), array( array('TEST' => 16), - '<script type="text/javascript" src="http://phpbb.com/b.js?c=d&assets_version=2#f"></script>', + '<script src="http://phpbb.com/b.js?c=d&assets_version=2#f"></script>', ), array( array('TEST' => 17), - '<script type="text/javascript" src="//phpbb.com/b.js"></script>', + '<script src="//phpbb.com/b.js"></script>', ), array( array('TEST' => 18), - '<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&test2=0&assets_version=1"></script>', + '<script src="tests/template/templates/parent_and_child.js?test=1&test2=0&assets_version=1"></script>', ), ); } diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index 2be16c7198..e1daa4558a 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -911,10 +911,15 @@ class phpbb_functional_test_case extends phpbb_test_case * status code. This assertion tries to catch that. * * @param int $status_code Expected status code - * @return null + * @return void */ static public function assert_response_status_code($status_code = 200) { + if ($status_code != self::$client->getResponse()->getStatus() && + preg_match('/^5[0-9]{2}/', self::$client->getResponse()->getStatus())) + { + self::fail("Encountered unexpected server error:\n" . self::$client->getResponse()->getContent()); + } self::assertEquals($status_code, self::$client->getResponse()->getStatus(), 'HTTP status code does not match'); } diff --git a/tests/test_framework/phpbb_test_case_helpers.php b/tests/test_framework/phpbb_test_case_helpers.php index 7fb9a740b8..c792976b1e 100644 --- a/tests/test_framework/phpbb_test_case_helpers.php +++ b/tests/test_framework/phpbb_test_case_helpers.php @@ -385,7 +385,7 @@ class phpbb_test_case_helpers $mb = $this->test_case->getMockBuilder('phpbb\\textformatter\\data_access'); $mb->setMethods(array('get_bbcodes', 'get_censored_words', 'get_smilies', 'get_styles')); $mb->setConstructorArgs(array( - $this->test_case->getMock('phpbb\\db\\driver\\driver'), + $this->test_case->getMockBuilder('phpbb\\db\\driver\\driver')->getMock(), 'phpbb_bbcodes', 'phpbb_smilies', 'phpbb_styles', @@ -489,8 +489,11 @@ class phpbb_test_case_helpers $request = new phpbb_mock_request; } + // Get a log interface + $log = ($container->has('log')) ? $container->get('log') : $this->test_case->getMockBuilder('phpbb\\log\\log_interface')->getMock(); + // Create and register the text_formatter.s9e.factory service - $factory = new \phpbb\textformatter\s9e\factory($dal, $cache, $dispatcher, $config, new \phpbb\textformatter\s9e\link_helper, $cache_dir, $cache_key_parser, $cache_key_renderer); + $factory = new \phpbb\textformatter\s9e\factory($dal, $cache, $dispatcher, $config, new \phpbb\textformatter\s9e\link_helper, $log, $cache_dir, $cache_key_parser, $cache_key_renderer); $container->set('text_formatter.s9e.factory', $factory); // Create a user if none was provided, and add the common lang strings diff --git a/tests/text_formatter/s9e/factory_test.php b/tests/text_formatter/s9e/factory_test.php index d35330a975..0d780a19a9 100644 --- a/tests/text_formatter/s9e/factory_test.php +++ b/tests/text_formatter/s9e/factory_test.php @@ -56,6 +56,7 @@ class phpbb_textformatter_s9e_factory_test extends phpbb_database_test_case $this->dispatcher, new \phpbb\config\config(array('allowed_schemes_links' => 'http,https,ftp')), new \phpbb\textformatter\s9e\link_helper, + $this->getMockBuilder('phpbb\\log\\log_interface')->getMock(), $this->get_cache_dir(), '_foo_parser', '_foo_renderer' @@ -264,6 +265,23 @@ class phpbb_textformatter_s9e_factory_test extends phpbb_database_test_case } /** + * @testdox Logs malformed BBCodes + */ + public function test_malformed_bbcodes() + { + $log = $this->getMockBuilder('phpbb\\log\\log_interface')->getMock(); + $log->expects($this->once()) + ->method('add') + ->with('critical', null, null, 'LOG_BBCODE_CONFIGURATION_ERROR', false, ['[x !x]{TEXT}[/x]', 'Cannot interpret the BBCode definition']); + + $container = new phpbb_mock_container_builder; + $container->set('log', $log); + + $fixture = __DIR__ . '/fixtures/malformed_bbcode.xml'; + $this->get_test_case_helpers()->set_s9e_services($container, $fixture); + } + + /** * @testdox get_configurator() triggers events before and after configuration */ public function test_configure_events() diff --git a/tests/text_formatter/s9e/fixtures/malformed_bbcode.xml b/tests/text_formatter/s9e/fixtures/malformed_bbcode.xml new file mode 100644 index 0000000000..7e7aa1a39c --- /dev/null +++ b/tests/text_formatter/s9e/fixtures/malformed_bbcode.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<dataset> + <table name="phpbb_bbcodes"> + <column>bbcode_id</column> + <column>bbcode_tag</column> + <column>bbcode_helpline</column> + <column>display_on_posting</column> + <column>bbcode_match</column> + <column>bbcode_tpl</column> + <column>first_pass_match</column> + <column>first_pass_replace</column> + <column>second_pass_match</column> + <column>second_pass_replace</column> + + <row> + <value>13</value> + <value>x</value> + <value></value> + <value>1</value> + <value>[x !x]{TEXT}[/x]</value> + <value>...</value> + <value/> + <value/> + <value/> + <value/> + </row> + </table> +</dataset> diff --git a/tests/text_reparser/plugins/fixtures/polls.xml b/tests/text_reparser/plugins/fixtures/polls.xml index 2960d640a9..5247fb906d 100644 --- a/tests/text_reparser/plugins/fixtures/polls.xml +++ b/tests/text_reparser/plugins/fixtures/polls.xml @@ -44,55 +44,66 @@ <column>topic_id</column> <column>topic_first_post_id</column> <column>poll_title</column> + <column>poll_start</column> <row> <value>1</value> <value>1</value> <value>This row should be [b]ignored[/b]</value> + <value>1</value> </row> <row> <value>2</value> <value>1</value> <value>[b]Not bold[/b] :) http://example.org</value> + <value>1</value> </row> <row> <value>3</value> <value>2</value> <value>[b:abcd1234]Bold[/b:abcd1234] :) http://example.org</value> + <value>1</value> </row> <row> <value>4</value> <value>3</value> <value><![CDATA[[b]Not bold[/b] <!-- s:) --><img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile" /><!-- s:) --> http://example.org]]></value> + <value>1</value> </row> <row> <value>5</value> <value>4</value> <value><![CDATA[[b]Not bold[/b] :) <!-- m --><a class="postlink" href="http://example.org">http://example.org</a><!-- m -->]]></value> + <value>1</value> </row> <row> <value>6</value> <value>2</value> <value><![CDATA[[flash=123,345:abcd1234]http://example.org/flash.swf[/flash:abcd1234]]]></value> + <value>1</value> </row> <row> <value>7</value> <value>1</value> <value><![CDATA[[flash=123,345]http://example.org/flash.swf[/flash]]]></value> + <value>1</value> </row> <row> <value>8</value> <value>2</value> <value><![CDATA[[img:abcd1234]http://example.org/img.png[/img:abcd1234]]]></value> + <value>1</value> </row> <row> <value>9</value> <value>1</value> <value><![CDATA[[img]http://example.org/img.png[/img]]]></value> + <value>1</value> </row> <row> <value>1000</value> <value>1</value> <value>This row should be [b]ignored[/b]</value> + <value>1</value> </row> </table> </dataset> |