diff options
Diffstat (limited to 'tests')
27 files changed, 397 insertions, 45 deletions
diff --git a/tests/avatar/manager_test.php b/tests/avatar/manager_test.php index 246397ad6c..de505e2c9f 100644 --- a/tests/avatar/manager_test.php +++ b/tests/avatar/manager_test.php @@ -38,6 +38,7 @@ class phpbb_avatar_manager_test extends \phpbb_test_case new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $phpbb_root_path, $phpEx ); diff --git a/tests/config_php_file_test.php b/tests/config_php_file_test.php new file mode 100644 index 0000000000..c2e4eb21c7 --- /dev/null +++ b/tests/config_php_file_test.php @@ -0,0 +1,30 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +class phpbb_config_php_file_test extends phpbb_test_case +{ + public function test_default() + { + $config_php = new \phpbb\config_php_file(dirname( __FILE__ ) . '/fixtures/', 'php'); + $this->assertSame('bar', $config_php->get('foo')); + $this->assertSame(array('foo' => 'bar', 'foo_foo' => 'bar bar'), $config_php->get_all()); + } + + public function test_set_config_file() + { + $config_php = new \phpbb\config_php_file(dirname( __FILE__ ) . '/fixtures/', 'php'); + $config_php->set_config_file(dirname( __FILE__ ) . '/fixtures/config_other.php'); + $this->assertSame('foo', $config_php->get('bar')); + $this->assertSame(array('bar' => 'foo', 'bar_bar' => 'foo foo'), $config_php->get_all()); + } +} diff --git a/tests/controller/helper_route_test.php b/tests/controller/helper_route_test.php index 621efaa830..206c3a4f0b 100644 --- a/tests/controller/helper_route_test.php +++ b/tests/controller/helper_route_test.php @@ -26,6 +26,7 @@ class phpbb_controller_helper_route_test extends phpbb_test_case new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $phpbb_root_path, $phpEx ); diff --git a/tests/dbal/fixtures/migrator_config_text.xml b/tests/dbal/fixtures/migrator_config_text.xml new file mode 100644 index 0000000000..ba8e1fcfcc --- /dev/null +++ b/tests/dbal/fixtures/migrator_config_text.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<dataset> + <table name="phpbb_config_text"> + <column>config_name</column> + <column>config_value</column> + </table> +</dataset> diff --git a/tests/dbal/migrator_tool_config_text_test.php b/tests/dbal/migrator_tool_config_text_test.php new file mode 100644 index 0000000000..b271c2d62e --- /dev/null +++ b/tests/dbal/migrator_tool_config_text_test.php @@ -0,0 +1,75 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +class phpbb_dbal_migrator_tool_config_text_test extends phpbb_database_test_case +{ + public function getDataSet() + { + return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/migrator_config_text.xml'); + } + + public function setup() + { + parent::setup(); + + $this->db = $this->new_dbal(); + $this->config_text = new \phpbb\config\db_text($this->db, 'phpbb_config_text'); + + $this->tool = new \phpbb\db\migration\tool\config_text($this->config_text); + } + + public function test_add() + { + $this->tool->add('foo', 'bar'); + $this->assertEquals('bar', $this->config_text->get('foo')); + } + + public function test_add_twice() + { + $this->tool->add('foo', 'bar'); + $this->assertEquals('bar', $this->config_text->get('foo')); + + $this->tool->add('foo', 'bar2'); + $this->assertEquals('bar', $this->config_text->get('foo')); + } + + public function test_update() + { + $this->config_text->set('foo', 'bar'); + + $this->tool->update('foo', 'bar2'); + $this->assertEquals('bar2', $this->config_text->get('foo')); + } + + public function test_remove() + { + $this->config_text->set('foo', 'bar'); + + $this->tool->remove('foo'); + $this->assertNull($this->config_text->get('foo')); + } + + public function test_reverse_add() + { + $this->config_text->set('foo', 'bar'); + + $this->tool->reverse('add', 'foo'); + $this->assertNull($this->config_text->get('foo')); + } + + public function test_reverse_remove() + { + $this->tool->reverse('remove', 'foo'); + $this->assertSame('', $this->config_text->get('foo')); + } +} diff --git a/tests/di/create_container_test.php b/tests/di/create_container_test.php index 8bf9f636fa..559c0b122c 100644 --- a/tests/di/create_container_test.php +++ b/tests/di/create_container_test.php @@ -14,47 +14,135 @@ namespace { require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php'; - require_once dirname(__FILE__) . '/../../phpBB/includes/functions_container.php'; - class phpbb_di_container_test extends phpbb_test_case + class phpbb_di_container_test extends \phpbb_test_case { - public function test_phpbb_create_container() + protected $config_php; + + /** + * @var \phpbb\di\container_builder + */ + protected $builder; + protected $phpbb_root_path; + protected $filename; + + public function setUp() { - $phpbb_root_path = __DIR__ . '/../../phpBB/'; - $extensions = array( - new \phpbb\di\extension\config(__DIR__ . '/fixtures/config.php'), - new \phpbb\di\extension\core($phpbb_root_path . 'config'), - ); - $container = phpbb_create_container($extensions, $phpbb_root_path, 'php'); + $this->phpbb_root_path = dirname(__FILE__) . '/'; + $this->config_php = new \phpbb\config_php_file($this->phpbb_root_path . 'fixtures/', 'php'); + $this->builder = new phpbb_mock_phpbb_di_container_builder($this->config_php, $this->phpbb_root_path . 'fixtures/', 'php'); + + $this->filename = $this->phpbb_root_path . '../tmp/container.php'; + if (is_file($this->filename)) + { + unlink($this->filename); + } + + parent::setUp(); + } + public function test_default_container() + { + $container = $this->builder->get_container(); $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); + + // Checks the core services + $this->assertTrue($container->hasParameter('core')); + + // Checks compile_container + $this->assertTrue($container->isFrozen()); + + // Checks inject_config + $this->assertTrue($container->hasParameter('dbal.dbhost')); + + // Checks use_extensions + $this->assertTrue($container->hasParameter('enabled')); + $this->assertFalse($container->hasParameter('disabled')); + $this->assertFalse($container->hasParameter('available')); + + // Checks set_custom_parameters + $this->assertTrue($container->hasParameter('core.root_path')); + + // Checks dump_container + $this->assertTrue(is_file($this->filename)); + + // Checks the construction of a dumped container + $container = $this->builder->get_container(); + $this->assertInstanceOf('phpbb_cache_container', $container); + $this->assertFalse($container->isFrozen()); + $container->getParameterBag(); // needed, otherwise the container is not marked as frozen + $this->assertTrue($container->isFrozen()); } - public function test_phpbb_create_install_container() + public function test_dump_container() { - $phpbb_root_path = __DIR__ . '/../../phpBB/'; - $extensions = array( - new \phpbb\di\extension\config(__DIR__ . '/fixtures/config.php'), - new \phpbb\di\extension\core($phpbb_root_path . 'config'), - ); - $container = phpbb_create_install_container($phpbb_root_path, 'php'); + $this->builder->set_dump_container(false); + $container = $this->builder->get_container(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); + // Checks dump_container + $this->assertFalse(is_file($this->filename)); + + // Checks the construction of a dumped container + $container = $this->builder->get_container(); + $this->assertNotInstanceOf('phpbb_cache_container', $container); $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); $this->assertTrue($container->isFrozen()); } - public function test_phpbb_create_compiled_container() + public function test_use_extensions() { - $phpbb_root_path = __DIR__ . '/../../phpBB/'; - $config_file = __DIR__ . '/fixtures/config.php'; - $extensions = array( - new \phpbb\di\extension\config(__DIR__ . '/fixtures/config.php'), - new \phpbb\di\extension\core($phpbb_root_path . 'config'), - ); - $container = phpbb_create_compiled_container($config_file, $extensions, array(), $phpbb_root_path, 'php'); + $this->builder->set_use_extensions(false); + $container = $this->builder->get_container(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); + + // Checks the core services + $this->assertTrue($container->hasParameter('core')); + + // Checks use_extensions + $this->assertFalse($container->hasParameter('enabled')); + $this->assertFalse($container->hasParameter('disabled')); + $this->assertFalse($container->hasParameter('available')); + } + public function test_compile_container() + { + $this->builder->set_compile_container(false); + $container = $this->builder->get_container(); $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); - $this->assertTrue($container->isFrozen()); + + // Checks compile_container + $this->assertFalse($container->isFrozen()); + } + + public function test_inject_config() + { + $this->builder->set_inject_config(false); + $container = $this->builder->get_container(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); + + // Checks inject_config + $this->assertFalse($container->hasParameter('dbal.dbhost')); + } + + public function test_set_config_path() + { + $this->builder->set_config_path($this->phpbb_root_path . 'fixtures/other_config/'); + $container = $this->builder->get_container(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); + + $this->assertTrue($container->hasParameter('other_config')); + $this->assertFalse($container->hasParameter('core')); + } + + public function test_set_custom_parameters() + { + $this->builder->set_custom_parameters(array('my_parameter' => true)); + $container = $this->builder->get_container(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); + + $this->assertTrue($container->hasParameter('my_parameter')); + $this->assertFalse($container->hasParameter('core.root_path')); } } } @@ -102,5 +190,12 @@ namespace phpbb\db\driver function sql_like_expression($expression) { } + + function sql_fetchrowset($query_id = false) + { + return array( + array('ext_name' => 'vendor/enabled'), + ); + } } } diff --git a/tests/di/fixtures/config/services.yml b/tests/di/fixtures/config/services.yml new file mode 100644 index 0000000000..f2a22ae109 --- /dev/null +++ b/tests/di/fixtures/config/services.yml @@ -0,0 +1,14 @@ +parameters: + core: true + +services: + config.php: + synthetic: true + + dbal.conn: + class: phpbb\db\driver\factory + arguments: + - @service_container + + dispatcher: + class: phpbb\db\driver\container_mock diff --git a/tests/di/fixtures/ext/vendor/available/config/services.yml b/tests/di/fixtures/ext/vendor/available/config/services.yml new file mode 100644 index 0000000000..2ced431f5a --- /dev/null +++ b/tests/di/fixtures/ext/vendor/available/config/services.yml @@ -0,0 +1,2 @@ +parameters: + available: true diff --git a/tests/di/fixtures/ext/vendor/disabled/config/services.yml b/tests/di/fixtures/ext/vendor/disabled/config/services.yml new file mode 100644 index 0000000000..31ada384bf --- /dev/null +++ b/tests/di/fixtures/ext/vendor/disabled/config/services.yml @@ -0,0 +1,2 @@ +parameters: + disabled: true diff --git a/tests/di/fixtures/ext/vendor/enabled/config/services.yml b/tests/di/fixtures/ext/vendor/enabled/config/services.yml new file mode 100644 index 0000000000..88a7919ed1 --- /dev/null +++ b/tests/di/fixtures/ext/vendor/enabled/config/services.yml @@ -0,0 +1,2 @@ +parameters: + enabled: true diff --git a/tests/di/fixtures/other_config/services.yml b/tests/di/fixtures/other_config/services.yml new file mode 100644 index 0000000000..c299bfc648 --- /dev/null +++ b/tests/di/fixtures/other_config/services.yml @@ -0,0 +1,14 @@ +parameters: + other_config: true + +services: + config.php: + synthetic: true + + dbal.conn: + class: phpbb\db\driver\factory + arguments: + - @service_container + + dispatcher: + class: phpbb\db\driver\container_mock diff --git a/tests/extension/metadata_manager_test.php b/tests/extension/metadata_manager_test.php index 6b6ea80d82..535e4fe0d5 100644 --- a/tests/extension/metadata_manager_test.php +++ b/tests/extension/metadata_manager_test.php @@ -53,6 +53,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $this->phpbb_root_path, $this->phpEx ), diff --git a/tests/fixtures/config.php b/tests/fixtures/config.php new file mode 100644 index 0000000000..ae9e8c22de --- /dev/null +++ b/tests/fixtures/config.php @@ -0,0 +1,3 @@ +<?php +$foo = 'bar'; +$foo_foo = 'bar bar'; diff --git a/tests/fixtures/config_other.php b/tests/fixtures/config_other.php new file mode 100644 index 0000000000..e0ecc17bb9 --- /dev/null +++ b/tests/fixtures/config_other.php @@ -0,0 +1,3 @@ +<?php +$bar = 'foo'; +$bar_bar = 'foo foo'; diff --git a/tests/functional/mcp_test.php b/tests/functional/mcp_test.php index 31d835f4fa..40615d66a5 100644 --- a/tests/functional/mcp_test.php +++ b/tests/functional/mcp_test.php @@ -64,4 +64,20 @@ class phpbb_functional_mcp_test extends phpbb_functional_test_case $crawler = self::submit($form); $this->assertContains($this->lang('POSTS_MERGED_SUCCESS'), $crawler->text()); } + + public function test_delete_logs() + { + $this->login(); + $crawler = self::request('GET', "mcp.php?i=mcp_logs&mode=front&sid={$this->sid}"); + $this->assertGreaterThanOrEqual(1, $crawler->filter('input[type=checkbox]')->count()); + + $this->add_lang('mcp'); + $form = $crawler->selectButton($this->lang('DELETE_ALL'))->form(); + $crawler = self::submit($form); + + $form = $crawler->selectButton('Yes')->form(); + $crawler = self::submit($form); + + $this->assertCount(0, $crawler->filter('input[type=checkbox]')); + } } diff --git a/tests/functions/build_url_test.php b/tests/functions/build_url_test.php index 7a70bddc71..06415a424e 100644 --- a/tests/functions/build_url_test.php +++ b/tests/functions/build_url_test.php @@ -30,10 +30,11 @@ class phpbb_build_url_test extends phpbb_test_case new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $phpbb_root_path, 'php' ); - $phpbb_container->set('path_helper', $path_helper); + $phpbb_container->set('path_helper', $phpbb_path_helper); } public function build_url_test_data() { diff --git a/tests/functions/convert_30_dbms_to_31_test.php b/tests/functions/convert_30_dbms_to_31_test.php index a3992aef5c..729c0a82f0 100644 --- a/tests/functions/convert_30_dbms_to_31_test.php +++ b/tests/functions/convert_30_dbms_to_31_test.php @@ -36,7 +36,8 @@ class phpbb_convert_30_dbms_to_31_test extends phpbb_test_case { $expected = "phpbb\\db\\driver\\$input"; - $output = phpbb_convert_30_dbms_to_31($input); + $config_php_file = new \phpbb\config_php_file('', ''); + $output = $config_php_file->convert_30_dbms_to_31($input); $this->assertEquals($expected, $output); } diff --git a/tests/mock/controller_helper.php b/tests/mock/controller_helper.php index 9f70f8e96c..f9d231258e 100644 --- a/tests/mock/controller_helper.php +++ b/tests/mock/controller_helper.php @@ -23,4 +23,9 @@ class phpbb_mock_controller_helper extends \phpbb\controller\helper $provider->find_routing_files($manager->get_finder()); $this->route_collection = $provider->find($phpbb_root_path_ext)->get_routes(); } + + public function get_current_url() + { + return ''; + } } diff --git a/tests/mock/phpbb_di_container_builder.php b/tests/mock/phpbb_di_container_builder.php new file mode 100644 index 0000000000..59cdf0bb2b --- /dev/null +++ b/tests/mock/phpbb_di_container_builder.php @@ -0,0 +1,20 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +class phpbb_mock_phpbb_di_container_builder extends \phpbb\di\container_builder +{ + protected function get_container_filename() + { + return $this->phpbb_root_path . '../../tmp/container.' . $this->php_ext; + } +} diff --git a/tests/path_helper/path_helper_test.php b/tests/path_helper/path_helper_test.php index 9866cb6efe..27e94d6a07 100644 --- a/tests/path_helper/path_helper_test.php +++ b/tests/path_helper/path_helper_test.php @@ -29,6 +29,7 @@ class phpbb_path_helper_test extends phpbb_test_case new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $this->phpbb_root_path, 'php' ); @@ -158,6 +159,7 @@ class phpbb_path_helper_test extends phpbb_test_case $path_helper = new \phpbb\path_helper( $symfony_request, new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $this->phpbb_root_path, 'php' ); @@ -338,4 +340,58 @@ class phpbb_path_helper_test extends phpbb_test_case { $this->assertEquals($expected, $this->path_helper->append_url_params($url, $params, $is_amp)); } + + public function get_web_root_path_from_ajax_referer_data() + { + return array( + array( + 'http://www.phpbb.com/community/route1/route2/', + 'http://www.phpbb.com/community', + '../../', + ), + array( + 'http://www.phpbb.com/community/route1/route2', + 'http://www.phpbb.com/community', + '../', + ), + array( + 'http://www.phpbb.com/community/route1', + 'http://www.phpbb.com/community', + '', + ), + array( + 'http://www.phpbb.com/community/', + 'http://www.phpbb.com/community', + '', + ), + array( + 'http://www.phpbb.com/notcommunity/route1/route2/', + 'http://www.phpbb.com/community', + '../../../community/', + ), + array( + 'http://www.phpbb.com/notcommunity/route1/route2', + 'http://www.phpbb.com/community', + '../../community/', + ), + array( + 'http://www.phpbb.com/notcommunity/route1', + 'http://www.phpbb.com/community', + '../community/', + ), + array( + 'http://www.phpbb.com/notcommunity/', + 'http://www.phpbb.com/community', + '../community/', + ), + ); + } + + /** + * @dataProvider get_web_root_path_from_ajax_referer_data + */ + public function test_get_web_root_path_from_ajax_referer($referer_url, $board_url, $expected) + { + $this->assertEquals($this->phpbb_root_path . $expected, $this->path_helper->get_web_root_path_from_ajax_referer($referer_url, $board_url)); + } } diff --git a/tests/security/redirect_test.php b/tests/security/redirect_test.php index fb1011cde0..3961c2781e 100644 --- a/tests/security/redirect_test.php +++ b/tests/security/redirect_test.php @@ -63,6 +63,7 @@ class phpbb_security_redirect_test extends phpbb_security_test_base new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $this->phpbb_root_path, 'php' ); diff --git a/tests/template/template_events_test.php b/tests/template/template_events_test.php index ce3c90b78a..c415c969fe 100644 --- a/tests/template/template_events_test.php +++ b/tests/template/template_events_test.php @@ -143,6 +143,7 @@ Zeta test event in all', new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $phpbb_root_path, $phpEx ); diff --git a/tests/template/template_test_case.php b/tests/template/template_test_case.php index 00b823b2c4..83446b5352 100644 --- a/tests/template/template_test_case.php +++ b/tests/template/template_test_case.php @@ -72,6 +72,7 @@ class phpbb_template_template_test_case extends phpbb_test_case new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $phpbb_root_path, $phpEx ); diff --git a/tests/template/template_test_case_with_tree.php b/tests/template/template_test_case_with_tree.php index 4f778a9c1c..68ecc4b706 100644 --- a/tests/template/template_test_case_with_tree.php +++ b/tests/template/template_test_case_with_tree.php @@ -27,6 +27,7 @@ class phpbb_template_template_test_case_with_tree extends phpbb_template_templat new phpbb_mock_request() ), new \phpbb\filesystem(), + $this->getMock('\phpbb\request\request'), $phpbb_root_path, $phpEx ); diff --git a/tests/test_framework/phpbb_session_test_case.php b/tests/test_framework/phpbb_session_test_case.php index 8a5d582573..d4fc174a12 100644 --- a/tests/test_framework/phpbb_session_test_case.php +++ b/tests/test_framework/phpbb_session_test_case.php @@ -32,6 +32,7 @@ abstract class phpbb_session_test_case extends phpbb_database_test_case $phpbb_path_helper = new \phpbb\path_helper( $symfony_request, $phpbb_filesystem, + $this->getMock('\phpbb\request\request'), $phpbb_root_path, $phpEx ); diff --git a/tests/test_framework/phpbb_test_case_helpers.php b/tests/test_framework/phpbb_test_case_helpers.php index a29b6e1955..ade1bf6e23 100644 --- a/tests/test_framework/phpbb_test_case_helpers.php +++ b/tests/test_framework/phpbb_test_case_helpers.php @@ -142,17 +142,16 @@ class phpbb_test_case_helpers $test_config = dirname(__FILE__) . '/../test_config.php'; } + $config_php_file = new \phpbb\config_php_file('', ''); + if (file_exists($test_config)) { - include($test_config); - - if (!function_exists('phpbb_convert_30_dbms_to_31')) - { - require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php'; - } + $config_php_file->set_config_file($test_config); + extract($config_php_file->get_all()); + unset($dbpasswd); $config = array_merge($config, array( - 'dbms' => phpbb_convert_30_dbms_to_31($dbms), + 'dbms' => $config_php_file->convert_30_dbms_to_31($dbms), 'dbhost' => $dbhost, 'dbport' => $dbport, 'dbname' => $dbname, @@ -183,13 +182,8 @@ class phpbb_test_case_helpers if (isset($_SERVER['PHPBB_TEST_DBMS'])) { - if (!function_exists('phpbb_convert_30_dbms_to_31')) - { - require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php'; - } - $config = array_merge($config, array( - 'dbms' => isset($_SERVER['PHPBB_TEST_DBMS']) ? phpbb_convert_30_dbms_to_31($_SERVER['PHPBB_TEST_DBMS']) : '', + 'dbms' => isset($_SERVER['PHPBB_TEST_DBMS']) ? $config_php_file->convert_30_dbms_to_31($_SERVER['PHPBB_TEST_DBMS']) : '', 'dbhost' => isset($_SERVER['PHPBB_TEST_DBHOST']) ? $_SERVER['PHPBB_TEST_DBHOST'] : '', 'dbport' => isset($_SERVER['PHPBB_TEST_DBPORT']) ? $_SERVER['PHPBB_TEST_DBPORT'] : '', 'dbname' => isset($_SERVER['PHPBB_TEST_DBNAME']) ? $_SERVER['PHPBB_TEST_DBNAME'] : '', diff --git a/tests/viewonline/helper_test.php b/tests/viewonline/helper_test.php index e4950bb51a..bbbed59de7 100644 --- a/tests/viewonline/helper_test.php +++ b/tests/viewonline/helper_test.php @@ -17,23 +17,27 @@ class phpbb_viewonline_helper_test extends phpbb_test_case { parent::setUp(); - $this->viewonline_helper = new \phpbb\viewonline_helper(); + $this->viewonline_helper = new \phpbb\viewonline_helper(new \phpbb\filesystem()); } public function session_pages_data() { return array( - array('index.php', 'index.php'), - array('foobar/test.php', 'foobar/test.php'), + array('index.php', 'index'), + array('foobar/test.php', 'foobar/test'), array('', ''), - array('../index.php', '../index.php'), + array('./../../index.php', '../../index'), + array('../subdir/index.php', '../subdir/index'), + array('../index.php', '../index'), + array('././index.php', 'index'), + array('./index.php', 'index'), ); } /** * @dataProvider session_pages_data */ - public function test_get_user_page($expected, $session_page) + public function test_get_user_page($session_page, $expected) { $on_page = $this->viewonline_helper->get_user_page($session_page); $this->assertArrayHasKey(1, $on_page); |